Maison  >  Article  >  développement back-end  >  Raisons et solutions pour les caractères tronqués stockés dans les informations chinoises PHP dans la base de données

Raisons et solutions pour les caractères tronqués stockés dans les informations chinoises PHP dans la base de données

王林
王林original
2024-03-25 10:00:051172parcourir

Raisons et solutions pour les caractères tronqués stockés dans les informations chinoises PHP dans la base de données

Titre : Raisons et solutions pour les informations chinoises tronquées stockées dans la base de données en PHP

Dans le processus d'utilisation de PHP pour développer des sites Web, nous rencontrons souvent le problème des informations chinoises tronquées stockées dans la base de données. Ce problème est dû à divers facteurs, notamment les paramètres d'encodage de la base de données, les paramètres d'encodage PHP, les paramètres d'encodage des pages, etc. Dans cet article, nous présenterons en détail les raisons pour lesquelles les informations PHP chinoises sont stockées dans des bases de données tronquées, fournirons des solutions et joindrons des exemples de code spécifiques.

1. Analyse des causes des caractères tronqués

  1. Paramètres d'encodage incorrects de la base de données : les paramètres d'encodage des tables de la base de données sont incorrects, ce qui entraîne des caractères tronqués lors du stockage des informations chinoises.
  2. Paramètres d'encodage PHP incohérents : les paramètres d'encodage des fichiers PHP et des bases de données sont incohérents, ce qui entraîne des informations chinoises tronquées lors de la transmission.
  3. Erreur de paramètre d'encodage de page : le paramètre d'encodage de la page Web est incohérent avec le paramètre d'encodage de la base de données et les informations chinoises apparaissent tronquées lorsqu'elles sont affichées sur la page Web.

2. Plan de traitement du code tronqué

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

Tout d'abord, assurez-vous que les paramètres d'encodage des tables de la base de données sont cohérents avec le format d'encodage des données. Le format d'encodage du tableau peut être modifié en UTF-8 via l'instruction SQL suivante :

ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

2. Paramètres d'encodage PHP

Dans le fichier PHP, définissez le format d'encodage pour garantir que les données ne seront pas tronquées lors de la transmission. Vous pouvez ajouter le code suivant au début du fichier PHP :

header('Content-Type: text/html; charset=utf-8');

3. Paramètres d'encodage de la page

Ajoutez la balise méta suivante en tête de la page web pour préciser que le format d'encodage de la page est UTF-8 :

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

3. Exemple de code

Ce qui suit est Un exemple de code PHP simple qui montre comment stocker correctement les informations chinoises dans la base de données :

<?php
// 连接数据库
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test_db";

$conn = new mysqli($servername, $username, $password, $dbname);

// 设置字符编码
$conn->set_charset("utf8");

// 处理中文信息
$name = "张三";
$age = 25;

// 插入数据
$sql = "INSERT INTO users (name, age) VALUES ('$name', $age)";
if ($conn->query($sql) === TRUE) {
    echo "新记录插入成功";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

En définissant correctement le format d'encodage de la base de données, des fichiers PHP et des pages Web, vous pouvez efficacement évitez le problème des caractères tronqués lorsque les informations chinoises sont stockées dans la base de données. J'espère que le contenu ci-dessus vous sera utile !

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!

Déclaration:
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