Lors du processus d'utilisation de PHP pour développer des sites Web, nous rencontrons souvent des caractères chinois tronqués. Les caractères chinois tronqués affecteront non seulement l'esthétique du site Web, mais affecteront également l'expérience utilisateur, ce problème doit donc être résolu à temps. Cet article présentera la solution à PHP affichant des caractères tronqués.
Dans le fichier de configuration PHP, le jeu de caractères par défaut doit être défini sur UTF-8. Ouvrez le fichier php.ini et recherchez le contenu suivant :
;*** Charset *** ; default_charset ; Default character set for new content types ; Default Value: "" ;mime_magic.debug = Off
Changez "default_charset" en "UTF-8" :
;*** Charset *** ; default_charset ; Default character set for new content types ; Default Value: "" default_charset = "UTF-8" ;mime_magic.debug = Off
Après avoir terminé, enregistrez et redémarrez le service Apache.
PHP fournit également une fonction permettant de définir les informations d'en-tête HTTP afin de résoudre le problème des caractères chinois tronqués. Ajoutez le code suivant au début du fichier PHP :
header("Content-type: text/html; charset=utf-8");
La fonction de cette ligne de code est de définir les informations d'en-tête HTTP et d'indiquer au navigateur que le format d'encodage de la page actuelle est UTF-8.
Lorsque vous utilisez PHP pour vous connecter à la base de données, vous devez également définir le jeu de caractères de la base de données sur UTF-8 pour éviter les caractères tronqués lors de la lecture des données. Vous pouvez ajouter le code suivant au code d'établissement d'une connexion à la base de données :
mysqli_set_charset($conn,"utf8");
où $conn est le nom de la variable de connexion à la base de données.
Si la table de base de données créée contient des champs chinois, il est également nécessaire de définir l'encodage des champs dans la table de base de données sur UTF-8. Vous pouvez ajouter le code suivant à l'instruction SQL qui crée la table de base de données :
CREATE TABLE `table_name` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Parmi eux, le format d'encodage du champ de nom est utf8_unicode_ci.
PHP fournit également certaines fonctions couramment utilisées pour traiter les caractères chinois tronqués, telles que :
$new_str = iconv("gb2312","utf-8", $str);
La fonction de cette ligne de code est de convertir $Str de l'encodage GB2312 en encodage UTF-8.
$new_str = mb_convert_encoding($str,"utf-8","gb2312");
La fonction de cette ligne de code est de convertir $Str de l'encodage GB2312 en encodage UTF-8.
Pour résumer, il existe plusieurs façons de résoudre le problème des caractères chinois tronqués en PHP. Vous devez choisir en fonction de la situation spécifique pour obtenir la meilleure solution. Dans le même temps, dans le développement quotidien, vous devez également prêter attention aux spécifications d'écriture de code et aux paramètres du jeu de caractères pour éviter l'apparition de caractères chinois tronqués.
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!