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 :
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>
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>
<code class="sql">ALTER DATABASE dbname CHARACTER SET = utf8; ALTER TABLE table_name DEFAULT CHARACTER SET = utf8;</code>
<code class="sql">SET CHARACTER SET utf8;</code>
<code class="sql">SET NAMES 'utf8';</code>
<code class="php">mysql_set_charset('utf8', $link);</code>
Articles connexes :
Ressources supplémentaires :
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!