Maison  >  Article  >  base de données  >  Comment insérer correctement des caractères chinois dans MySQL ?

Comment insérer correctement des caractères chinois dans MySQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-27 17:07:02639parcourir

How to Properly Insert Chinese Characters into MySQL?

Résoudre le problème de l'insertion de caractères chinois dans MySQL

L'insertion de caractères chinois dans MySQL peut être problématique si la base de données ou la table n'est pas configurée pour gérer les données Unicode. Ce problème survient généralement lorsque les cookies sont codés à l'aide du jeu de caractères big5.

Solution :

Pour résoudre ce problème, il est crucial de s'assurer que la base de données et la table sont configuré avec le codage de caractères UTF-8. Voici comment mettre en œuvre cela :

1. Configuration de la base de données pour UTF-8 :

Utilisez l'argument du jeu de caractères lors de la création de la base de données :

<code class="sql">create database stackoverflow CHARACTER SET utf8;</code>

Cela définit le jeu de caractères par défaut de la base de données sur UTF-8.

2. Configuration de la table pour UTF-8 :

Lors de la création de la table, spécifiez le jeu de caractères pour chaque champ :

<code class="sql">create table attendance_count (
    username varchar(30) CHARACTER SET utf8,
    date date,
    count_time int,
    appendix varchar(200) CHARACTER SET utf8
);</code>

Cela garantit que les champs gérant les caractères chinois, en particulier le Dans ce cas, le champ annexe est défini sur le codage UTF-8.

3. Insertion de données avec le codage UTF-8 :

Lors de l'exécution de la requête d'insertion, définissez explicitement le jeu de caractères :

<code class="sql">mysql_query("SET CHARACTER SET utf8;");
mysql_query($sql2);</code>

Cela spécifie que les données en cours d'insertion doivent être traitées comme UTF -8 encodé.

4. Considérations supplémentaires :

  • Assurez-vous que le jeu de caractères du script PHP est défini sur UTF-8.
  • Si vous rencontrez d'autres problèmes, vérifiez le fichier de configuration MySQL (mon .cnf) pour confirmer que le jeu de caractères par défaut est correctement défini.

Exemple de code détaillé :

Le code suivant illustre ces principes :

<code class="php">$db = new mysqli("localhost", "username", "password", "dbname");

// Set character set for the connection
$db->set_charset("utf8");

$sql = "INSERT INTO attendance_count (username, date, count_time, appendix) VALUES (?, ?, ?, ?)";
$stmt = $db->prepare($sql);

// Bind parameters in UTF-8 encoding
$stmt->bind_param("ssis", $username, $date, $count_time, $appendix);

// Execute the query
$stmt->execute();

$stmt->close();
$db->close();</code>

En suivant ces étapes, vous devriez pouvoir insérer avec succès des caractères chinois dans votre base de données MySQL.

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