" ; 3. Via "mysql_query ("SET NAMES GBK");" pour définir l'encodage de la connexion MYSQL."/> " ; 3. Via "mysql_query ("SET NAMES GBK");" pour définir l'encodage de la connexion MYSQL.">

Maison >développement back-end >Problème PHP >Que faire si la page Web DW PHP contient des caractères chinois tronqués ?

Que faire si la page Web DW PHP contient des caractères chinois tronqués ?

藏色散人
藏色散人original
2022-11-30 09:30:246782parcourir

Solutions aux caractères chinois tronqués dans les pages Web DW PHP : 1. Définissez l'encodage du titre sur UTF8 ; 2. Lorsque vous utilisez Dreamweaver pour créer un nouveau fichier php, déclarez le format utf-8 via "7a287e61cc29d7e550f3415bd9bfddb9" 3 , définissez l'encodage de la connexion MYSQL via "mysql_query("SET NAMES GBK");". ="utf-8">

Que faire si la page Web DW PHP contient des caractères chinois tronqués ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, Dreamweaver version 8, ordinateur Dell G3.

Que dois-je faire si la page Web DW PHP contient des caractères chinois tronqués ?

Comment résoudre les caractères chinois tronqués dans Dreamweaver exécutant l'interface d'aperçu de fichier PHP

Le développement de sites Web nécessite de gérer de nombreuses langues différentes, et nous rencontrons souvent un mélange de chinois et d'anglais. Lorsque vous utilisez Dreamweaver pour créer et exécuter du code PHP, la fenêtre d'aperçu en chinois affiche parfois des caractères tronqués, mais l'anglais peut s'afficher normalement.

Que faire si la page Web DW PHP contient des caractères chinois tronqués ?
Que faire si la page Web DW PHP contient des caractères chinois tronqués ?

Les principales raisons de cette situation sont :
1. Encodage du fichier : fait référence à l'encodage du fichier d'échange (.html, .php, etc.) lui-même enregistré. Le Bloc-notes et Dreamweaver reconnaîtront automatiquement l'encodage du fichier lors de l'ouverture de la page, il y aura donc moins de problèmes. Cependant, ZendStudio ne reconnaît pas automatiquement l'encodage. Il ouvrira uniquement le fichier avec un certain encodage. Si vous ouvrez accidentellement le fichier avec le mauvais encodage pendant le travail, des caractères tronqués apparaîtront dès que vous l'enregistrerez après avoir effectué la modification.

Solution : Paramètres de page, titre/encodage, définis sur UTF8

Que faire si la page Web DW PHP contient des caractères chinois tronqués ?


2. Encodage de la déclaration de page :
Paramètres d'encodage de page HTML
Dans le code HTML HEAD, il peut être utilisé pour indiquer le navigateur Quel encodage est utilisé pour la page Web du serveur ? Actuellement, XXX utilise principalement GB2312 et UTF-8 dans le développement de sites Web chinois. Lorsque vous utilisez Dreamweaver pour créer un nouveau fichier php, vous devez déclarer le format utf-8 : 2458c20ad8814e8d5c01cce841c2226d

2458c20ad8814e8d5c01cce841c2226d

Que faire si la page Web DW PHP contient des caractères chinois tronqués ?

3. Encodage de connexion à la base de données : fait référence à l'encodage utilisé pour transmettre les données à la base de données lors de l'exécution d'opérations de base de données. Il convient de noter ici qu'il ne doit pas être confondu avec l'encodage de la base de données elle-même. Le codage interne de MySQL est le codage latin1, ce qui signifie que Mysql est stocké dans le codage latin1. Les données transmises à Mysql dans d'autres codages seront converties en codage latin1.

Maintenant que nous savons où le codage est impliqué dans le développement WEB, nous connaissons également la cause des caractères tronqués : les trois paramètres de codage ci-dessus sont incohérents. Étant donné que la plupart des différents codages sont compatibles avec l'ASCII, les symboles anglais n'apparaîtront pas tronqués en chinois. les caractères semblent tronqués.

Conditions d'erreur courantes et solutions :

1. La base de données utilise le codage UTF8 et le codage de déclaration de page est GB2312. C'est la cause la plus courante de caractères tronqués.

À ce stade, les données SELECT directes dans le script PHP seront tronquées. Vous devez les utiliser avant d'interroger : mysql_query("SET NAMES GBK"); pour définir l'encodage de la connexion MYSQL et vous assurer que l'encodage de la déclaration de page est cohérent. avec le codage de connexion défini ici Cohérent (GBK est une extension de GB2312). Si la page est encodée en UTF-8, vous pouvez utiliser : mysql_query("SET NAMES UTF8");
Paramètres d'encodage PHP
Dans la première phrase du code php, écrivez :

<?php
header("Content-type:text/html;charset=utf-8");
?>

Modifiez le fichier php.ini

Modifiez "/etc/php5/apache2/php.ini" pour changer

default_charset = "iso-8859-1"

en default_charset = "utf-8"

Paramètres d'encodage MySQL

<?php
mysql_query(&#39;SET NAMES UTF8&#39;);
?>

Notez qu'il s'agit d'UTF8 au lieu de l'UTF- couramment utilisé. 8. Si l'encodage de la déclaration de page est cohérent avec l'encodage interne de la base de données, vous n'avez pas besoin de définir l'encodage de connexion.

L'entrée et la sortie des données de MYSQL sont plus compliquées que ce qui est mentionné ci-dessus. Il existe 2 encodages par défaut définis dans le fichier de configuration MYSQL my.ini, qui sont le jeu de caractères par défaut dans [client] et le caractère par défaut dans [. mysqld] -set pour définir l'encodage utilisé par défaut respectivement pour les connexions client et les bases de données internes. L'encodage que nous avons spécifié ci-dessus est en fait le paramètre de ligne de commande caractère_set_client lorsque le client MYSQL se connecte au serveur, qui indique au serveur MYSQL quel est l'encodage des données client reçues, au lieu d'utiliser l'encodage par défaut.

Sur la base des étapes précédentes, vous devez également ajouter le codage de la base de données avant d'interroger/modifier/ajouter vos données.

2. L'encodage de la déclaration de la page est incohérent avec l'encodage du fichier lui-même, car si l'encodage est incohérent, ce que l'artiste voit dans le navigateur lors de la création de la page sera tronqué. Le plus souvent, cela est dû à la correction de quelques bugs mineurs après la publication, à l'ouverture de la page avec un mauvais encodage, puis à son enregistrement. Ou vous utilisez un logiciel FTP pour modifier directement des fichiers en ligne, tel que CuteFTP. En raison d'une configuration d'encodage logicielle incorrecte, un encodage incorrect est converti.

3. Lors de la location d'un hôte virtuel, si les trois encodages ci-dessus sont correctement définis, il arrive parfois que des caractères soient tronqués. Par exemple, si la page Web est codée en GB2312, elle est toujours reconnue comme UTF-8 lorsqu'elle est ouverte par des navigateurs tels que IE. Le HEAD de la page Web a déjà indiqué qu'il s'agit de GB2312 après avoir modifié manuellement le codage du navigateur en GB2312. , la page s'affiche normalement. La raison en est que le serveur Apache définit l'encodage global par défaut du serveur et ajoute AddDefaultCharset UTF-8 dans httpd.conf. A ce moment, le serveur enverra d'abord l'en-tête HTTP au navigateur, et sa priorité est supérieure à l'encodage déclaré dans la page. Naturellement, le navigateur ne le reconnaîtra pas correctement. Il existe deux solutions. Les administrateurs doivent ajouter AddDefaultCharset GB2312 au fichier de configuration de leur propre machine virtuelle pour remplacer la configuration globale, ou la configurer en .htaccess dans leur propre répertoire.

Résumé : Pour résoudre le code chinois tronqué en PHP, la solution la plus rapide est de rendre l'encodage déclaré par la page cohérent avec l'encodage interne de la base de données si le numéro de page appliqué à la page est incohérent avec l'encodage interne de la page. base de données, définissez l'encodage de la connexion, mysql_query("SET NAMES XXX "); XXX est le code de connexion. Tel que mysql_query('SET NAMES UTF8'); [2]

Enfin, la langue chinoise s'affiche avec succès :

76c82f278ac045591c9159d381de2c57
f2fff6a208c3e290698f287c1c0e7a53
93f0f5c25f18dab9d176bd4f6de5d30e
  a80eb7cbb6fff8b0ff70bae37074b813
  b2386ffb911b14667cb8f0f91ea547a7中文6e916e0f7d1e588d4f442bf645aedb2f
9c3bca370b5104690d9ef395f2c5f8d1

6c04bd5ca3fcae76e30b72ad730ca86d

4a249f0d628e2318394fd9b75b4636b1中文473f0a7621bec819994bb5020d29372a

13f8ba25135b9b670f5fc69a5ab97123

Que faire si la page Web DW PHP contient des caractères chinois tronqués ?

Apprentissage recommandé : "Tutoriel vidéo PHP "

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn