Dans le processus de développement PHP, la sauvegarde des données dans la base de données est souvent impliquée. Cependant, il arrive parfois que des caractères soient tronqués lors de l'enregistrement des données dans la base de données. Cet article se concentrera sur le problème des caractères tronqués lors de l'enregistrement des données PHP dans la base de données et sur la façon de le résoudre.
1. Cause du problème
Lorsque PHP met à jour la base de données MySQL, si les jeux de caractères de PHP et MySQL sont incohérents, des caractères tronqués peuvent apparaître. Pour résoudre ce problème, le jeu de caractères correct doit être spécifié dans le code.
Deuxième solution
Vous pouvez modifier le jeu de caractères dans la base de données MySQL via la commande suivante
SET NAMES 'utf8mb4';
Ceci La commande est uniquement pour la connexion actuelle. Si elle doit être modifiée de manière permanente, elle doit être modifiée dans le fichier de configuration MySQL. La méthode de modification est la suivante :
[mysqld] character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci
Ajouter un code lors de la connexion à la base de données :
mysqli_set_charset($mysqli, "utf8mb4");
Utilisation en PHP La fonction header()
peut définir l'en-tête http, comme suit : header()
可以设置http头,如下:
header("Content-type:text/html;charset=utf-8");
这样设置后所有输出到浏览器的字符集都是 utf-8 的。
在 PHP 中,还可以指定数据保存到数据库的编码方式:
mysqli_query($link, "SET NAMES 'utf8mb4'");
其中,$link
CREATE TABLE `mytable`(`id` INT, `name` VARCHAR(50)) DEFAULT CHARSET=utf8mb4;
<meta charset="UTF-8">
$link
est l'objet qui se connecte à la base de données MySQL.
rrreee
Spécifiez le jeu de caractères dans la page Web
Ajoutez le code suivant à l'en-tête du html :rrreee
Comme ceci Après le réglage, tous les jeux de caractères affichés sont UTF-8. 🎜🎜Résumé : 🎜🎜Bien que le problème de confusion des données PHP enregistrées dans la base de données soit relativement courant, en fait, tant que la cause du problème est comprise, il peut être facilement résolu grâce aux solutions ci-dessus. Dans le même temps, le jeu de caractères utf8mb4 doit être utilisé autant que possible pendant le développement. 🎜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!