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

藏色散人
Libérer: 2023-03-17 15:20:02
original
6765 Les gens l'ont consulté

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 "" 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 :


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");
?>
Copier après la connexion

Modifiez le fichier php.ini

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

default_charset = "iso-8859-1"
Copier après la connexion

en default_charset = "utf-8"

Paramètres d'encodage MySQL

<?php
mysql_query(&#39;SET NAMES UTF8&#39;);
?>
Copier après la connexion

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 :

<!DOCTYPE html>
<html lang="zh">
<head>
  <meta charset="UTF-8">
  <title>中文</title>
</head>

<body>

<h1>中文</h1>

<?php
echo "Hello World!";
?>
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal