Maison  >  Article  >  base de données  >  Comment résoudre les problèmes d’insertion de caractères chinois dans les bases de données MySQL ?

Comment résoudre les problèmes d’insertion de caractères chinois dans les bases de données MySQL ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-28 14:08:02446parcourir

How to Solve Chinese Character Insertion Problems in MySQL Databases?

Unicode : résoudre les problèmes d'insertion de caractères chinois dans MySQL

Insérer des caractères chinois dans une base de données MySQL peut être un défi, surtout lorsque l'encodage de les données ne sont pas compatibles avec le jeu de caractères de la base de données. Cela peut se produire lorsque le codage du cookie, tel que Big5, ne correspond pas au jeu de caractères UTF-8 de la base de données.

Solution :

Pour résoudre ce problème, suivez ces étapes :

  1. Créer une table avec un jeu de caractères UTF-8 :

    • Lors de la création de la table de base de données qui stockera les caractères chinois, spécifiez le jeu de caractères comme UTF-8. Cela garantit que la table peut gérer les caractères Unicode.
    • Exemple : CREATE TABLE nom_table (nom d'utilisateur VARCHAR(20) CHARACTER SET utf8, raison TEXT CHARACTER SET utf8)
  2. Insérer des données à l'aide du codage UTF-8 :

    • Lors de l'insertion de caractères chinois dans le tableau, utilisez la syntaxe suivante :
    • Exemple : INSERT INTO table_name ( nom d'utilisateur, raison) VALEURS ("$username", '$_COOKIE["reason"]')

Conseils supplémentaires :

  • Utilisez la fonction mysql_set_charset() pour définir explicitement le codage des caractères pour la connexion.
  • Vérifiez les définitions de colonnes dans la base de données pour vous assurer qu'elles utilisent le jeu de caractères et le classement corrects.
  • Si vous rencontrez des erreurs liées à l'encodage des caractères, reportez-vous à la documentation MySQL pour plus d'informations.

Exemple de code détaillé :

<code class="php">$db = new mysqli("localhost", "root", "", "stackoverflow");
$db->set_charset("utf8");

$username = $_POST['username'];
$reason = $_POST['reason'];

// Check if the username exists in the database
$sql = "SELECT username FROM table_name WHERE username = '$username'";
$result = $db->query($sql);

if ($result->num_rows > 0) {
    // Update the reason for the existing username
    $sql = "UPDATE table_name SET reason = '$reason' WHERE username = '$username'";
} else {
    // Insert a new user and reason into the database
    $sql = "INSERT INTO table_name (username, reason) VALUES ('$username', '$reason')";
}

// Execute the SQL query
$db->query($sql);</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