Maison > développement back-end > Problème PHP > Comment résoudre les caractères tronqués affichés en php

Comment résoudre les caractères tronqués affichés en php

PHPz
Libérer: 2023-04-19 11:15:20
original
1298 Les gens l'ont consulté

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.

  1. Modifier le fichier de configuration PHP

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
Copier après la connexion

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
Copier après la connexion

Après avoir terminé, enregistrez et redémarrez le service Apache.

  1. Définir les informations d'en-tête HTTP

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

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.

  1. Paramètres d'encodage de la base de données

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

où $conn est le nom de la variable de connexion à la base de données.

  1. Paramètre d'encodage des champs de 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;
Copier après la connexion

Parmi eux, le format d'encodage du champ de nom est utf8_unicode_ci.

  1. Fonctions PHP pour gérer les caractères tronqués

PHP fournit également certaines fonctions couramment utilisées pour traiter les caractères chinois tronqués, telles que :

  • fonction iconv() : réalise la conversion d'encodage entre les chaînes.
$new_str = iconv("gb2312","utf-8", $str);
Copier après la connexion

La fonction de cette ligne de code est de convertir $Str de l'encodage GB2312 en encodage UTF-8.

  • Fonction mb_convert_encoding() : Vous pouvez convertir une chaîne d'un encodage à un autre encodage.
$new_str = mb_convert_encoding($str,"utf-8","gb2312");
Copier après la connexion

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!

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