Maison >développement back-end >tutoriel php >Conseils et pratiques pour gérer les caractères chinois tronqués dans les bases de données avec PHP

Conseils et pratiques pour gérer les caractères chinois tronqués dans les bases de données avec PHP

WBOY
WBOYoriginal
2024-03-27 17:21:041041parcourir

Conseils et pratiques pour gérer les caractères chinois tronqués dans les bases de données avec PHP

PHP est un langage de programmation back-end largement utilisé dans le développement de sites Web. Il possède de puissantes fonctions d'exploitation de bases de données et est souvent utilisé pour interagir avec des bases de données telles que MySQL. Cependant, en raison de la complexité du codage des caractères chinois, des problèmes surviennent souvent lorsqu'il s'agit de caractères chinois tronqués dans la base de données. Cet article présentera les compétences et les pratiques de PHP dans la gestion des caractères chinois tronqués dans les bases de données, y compris les causes courantes des caractères tronqués, les solutions et des exemples de code spécifiques.

Causes courantes des caractères tronqués

  1. Paramètre incorrect du jeu de caractères de la base de données : le jeu de caractères correct doit être sélectionné lors de la création de la base de données, comme utf8 ou utf8mb4, sinon cela entraînera des caractères chinois tronqués.
  2. Le jeu de caractères n'est pas spécifié lorsque PHP se connecte à la base de données : le jeu de caractères correct doit être défini lors de la connexion à la base de données, sinon les données renvoyées par la base de données risquent d'être gâchées.
  3. Le jeu de caractères de la base de données, de la table ou du champ n'est pas uniforme : si le jeu de caractères de la table ou du champ de la base de données n'est pas uniforme, des caractères tronqués apparaîtront lors de l'insertion ou de l'interrogation de données.

Solution

  1. Définissez le jeu de caractères de la base de données sur utf8 ou utf8mb4 : Lors de la création de la base de données, utilisez l'instruction SQL suivante pour définir le jeu de caractères :
CREATE DATABASE dbname DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  1. Spécifiez le jeu de caractères lors de la connexion à la base de données : Lors de la connexion à la base de données en PHP, vous devez utiliser Le code suivant spécifie le jeu de caractères :
$mysqli = new mysqli("localhost", "username", "password", "dbname");
$mysqli->set_charset("utf8");
  1. Définissez le jeu de caractères des tables et des champs sur utf8 ou utf8mb4 : Lors de la création d'une table ou d'un champ, utilisez l'instruction SQL suivante pour définir le jeu de caractères :
CREATE TABLE tablename (
    id INT AUTO_INCREMENT,
    content TEXT CHARACTER SET utf8mb4,
    PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Exemple de code spécifique

Interroger la base de données de données chinoises

$mysqli = new mysqli("localhost", "username", "password", "dbname");
$mysqli->set_charset("utf8");

$query = $mysqli->query("SELECT * FROM tablename WHERE id=1");
while ($row = $query->fetch_assoc()) {
    echo $row['content'];
}

Insérer des données chinoises dans la base de données

$mysqli = new mysqli("localhost", "username", "password", "dbname");
$mysqli->set_charset("utf8");

$content = "中文内容";
$mysqli->query("INSERT INTO tablename (content) VALUES ('" . $mysqli->real_escape_string($content) . "')");

Grâce aux exemples de code ci-dessus, nous pouvons voir que la clé pour traiter les problèmes de chinois tronqué dans le La base de données en PHP consiste à définir correctement le jeu de caractères de la base de données, à spécifier le jeu de caractères lors de la connexion et à maintenir la table et le jeu de caractères des champs est cohérent. C'est la seule façon d'éviter efficacement le problème des caractères chinois tronqués et de garantir l'exactitude et l'intégrité des données.

En résumé, j'espère que cet article pourra aider les lecteurs à résoudre le problème des caractères chinois tronqués dans le traitement des bases de données PHP et à améliorer l'efficacité et la qualité du développement de sites Web. Bonne programmation à tous !

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