Maison >base de données >tutoriel mysql >Comment résoudre le problème de l'insertion de caractères chinois dans MySQL ?

Comment résoudre le problème de l'insertion de caractères chinois dans MySQL ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-30 18:05:03402parcourir

How to Solve the Issue of Inserting Chinese Characters into MySQL?

Impossible d'insérer des caractères chinois dans MySQL

Lorsque vous essayez d'insérer des caractères chinois dans une base de données MySQL, vous pouvez rencontrer des difficultés dues à des incompatibilités d'encodage des jeux de caractères. Pour résoudre ce problème, suivez ces étapes :

Créez la table avec le codage UTF-8

Lors de la création de la table de base de données, spécifiez le jeu de caractères comme UTF-8 :

<code class="sql">CREATE TABLE table_name (
    ...
) CHARACTER SET = utf8;</code>

Utilisez UTF-8 pour les champs de tableau

Lors de l'insertion de caractères chinois dans un tableau, spécifiez le jeu de caractères du champ comme UTF-8 :

<code class="sql">ALTER TABLE table_name
MODIFY COLUMN field_name VARCHAR(255) CHARACTER SET utf8;</code>

Utilisez UTF-8 pour la base de données et Tableau

<code class="sql">ALTER DATABASE dbname CHARACTER SET = utf8;

ALTER TABLE table_name
DEFAULT CHARACTER SET = utf8;</code>

Méthodes avancées pour les anciennes versions de MySQL

Définir le jeu de caractères de connexion

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

Utiliser SET NAMES

<code class="sql">SET NAMES 'utf8';</code>

Utiliser mysql_set_charset( ) Fonction

<code class="php">mysql_set_charset('utf8', $link);</code>

Lire la suite

Articles connexes :

  • [Jeux de caractères et classements MySQL](https://dev .mysql.com/doc/refman/8.0/en/charset-charsets.html)
  • [Comment résoudre le problème de codage de caractères UTF-8 dans la base de données MySQL](https://www.digitizor.com/ articles/how-to-solve-utf-8-character-encoding-issue-in-mysql-database/)

Ressources supplémentaires :

  • [Documentation sur les encodages et les classements de caractères MySQL](https://www.mysql.com/support/documentation/1/character-sets-encodings.html)
  • [Thème de débordement de pile](https:/ /stackoverflow.com/questions/15259744/how-to-allow-mysql-to-store-utf8-character-set-properly)
  • [Tutoriel PHP MySQL](https://www.w3schools.com /php/php_mysql_intro.asp)

Exemple de code détaillé

Voici un exemple de code détaillé qui montre comment résoudre le problème :

<code class="php"><?php

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test";

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

// Set connection character set to UTF-8
$conn->set_charset("utf8");

// Create database and table with UTF-8 encoding
$conn->query("CREATE DATABASE IF NOT EXISTS mydb CHARACTER SET utf8");
$conn->query("CREATE TABLE IF NOT EXISTS mydb.mytable (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) CHARACTER SET utf8)");

// Insert Chinese characters into the table
$sql = "INSERT INTO mydb.mytable (name) VALUES (?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param("s", $name);
$name = "你好";
$stmt->execute();

// Close connection
$stmt->close();
$conn->close();

?></code>

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