Solution pour convertir php en caractères chinois tronqués utf-8 : 1. Ajoutez "header("Content-Type: text/html;charset=utf-8");" au début du code ; comme "UTF -8" ; 3. Supprimez l'étiquette de nomenclature.
L'environnement d'exploitation de ce tutoriel : système Windows 10, PHP version 8.1, ordinateur DELL G3
Comment convertir php en code tronqué chinois UTF-8 ?
Le problème de la conversion d'une page PHP en Encodage UTF-8
1. Ajoutez une ligne au début du code :
header("Content-Type: text/html;charset=utf-8");
2. Problème d'encodage du fichier PHP
Cliquez sur le menu de l'éditeur : "Fichier" -> "Enregistrer sous", vous pouvez voir l'encodage. du fichier actuel, assurez-vous que l'encodage du fichier est : UTF-8,
S'il s'agit de ANSI, vous devez modifier l'encodage en : UTF-8.
3. Problème de nomenclature d'en-tête de fichier PHP :
Les fichiers PHP ne doivent pas avoir de balises BOM
Sinon, la session ne sera pas utilisable et il y aura des invites similaires :
Attention : session_start() [function.session- start ] : Impossible d'envoyer le limiteur de cache de session - en-têtes déjà envoyés
En effet, lors de l'exécution de session_start(), la page entière ne peut pas avoir de sortie, mais lorsque la balise BOM existe dans la page PHP précédente,
PHP traite cette balise BOM comme étant a été émis, donc quelque chose s'est mal passé !
La balise BOM doit donc être supprimée sur la page PHP
Comment supprimer cette balise BOM :
1 Vous pouvez ouvrir le fichier avec Dreamweaver et le réenregistrer pour supprimer la balise BOM !
2. Vous pouvez ouvrir le fichier avec EditPlus, et dans le menu "Préférences"->"Fichier"->"Identité UTF-8", le régler sur : "Toujours supprimer les signatures",
Ensuite, enregistrez le fichier, c'est-à-dire que les balises de nomenclature peuvent être supprimées !
4. Problème d'encodage UTF-8 lorsque PHP enregistre des fichiers en pièces jointes :
Lorsque PHP enregistre des fichiers en pièces jointes, le nom du fichier doit être encodé en GB2312,
Sinon, s'il y a du chinois dans le nom du fichier, il sera affiché. Caractères tronqués :
Si votre PHP lui-même est un fichier au format d'encodage UTF-8,
Vous devez convertir la variable de nom de fichier de UTF-8 en GB2312 :
iconv("UTF-8", "GB2312", "$filename");
5 Lors de la troncature et de l'affichage du titre de l'article, tronqué. des caractères ou "?" apparaissent. Problème de point d'interrogation :
Généralement lorsque le titre de l'article est très long, une partie du titre sera affichée et le titre de l'article sera tronqué puisqu'un caractère chinois au format d'encodage UTF-8 le sera. occupent 3 caractères de largeur,
Le titre sera intercepté Parfois, seul 1 caractère ou 2 caractères de largeur d'un caractère chinois seront interceptés
Si l'interception n'est pas complète, des caractères tronqués ou des points d'interrogation apparaîtront.
Utilisez la fonction suivante pour intercepter le titre, et il n'y aura aucun problème :
function get_brief_str($str, $max_length) { echo strlen($str) ."<br>"; if(strlen($str) > $max_length) { $check_num = 0; for($i=0; $i < $max_length; $i++) { if (ord($str[$i]) > 128) $check_num++; } if($check_num % 3 == 0) $str = substr($str, 0, $max_length)."..."; else if($check_num % 3 == 1) $str = substr($str, 0, $max_length + 2)."..."; else if($check_num % 3 == 2) $str = substr($str, 0, $max_length + 1)."..."; } return $str; }
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!