Maison > base de données > tutoriel mysql > Pourquoi mes caractères arabes apparaissent-ils sous forme de points d'interrogation dans ma base de données MySQL ?

Pourquoi mes caractères arabes apparaissent-ils sous forme de points d'interrogation dans ma base de données MySQL ?

Patricia Arquette
Libérer: 2024-12-08 19:46:12
original
671 Les gens l'ont consulté

Why are my Arabic characters showing as question marks in my MySQL database?

Enregistrement des données arabes dans la base de données MySQL

Problème :Lors de la tentative d'insertion de texte arabe dans une base de données MySQL, le le texte apparaît sous forme de question marques.

Diagnostic :

Le problème survient lorsque le jeu de caractères et le classement de la base de données, de la table ou de la colonne ne sont pas définis pour prendre en charge les caractères arabes. Par défaut, MySQL utilise le jeu de caractères Latin1, qui n'inclut pas les caractères arabes.

Solution :

Pour résoudre ce problème, il est crucial de s'assurer que la base de données , le tableau et la colonne sont configurés avec le jeu de caractères et le classement appropriés pour l'arabe data.

Étapes :

  1. Vérifiez le jeu de caractères et le classement de la base de données, de la table et de la colonne :

    • Pour le base de données :

      SELECT default_character_set_name FROM information_schema.SCHEMATA WHERE schema_name = "your_database_name";
      Copier après la connexion
    • Pour la table :

      SELECT CCSA.character_set_name FROM information_schema.`TABLES` T, information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` CCSA
      WHERE CCSA.collation_name = T.table_collation AND T.table_schema = "your_database_name" AND T.table_name = "your_table_name";
      Copier après la connexion
    • Pour la colonne :

      SELECT character_set_name FROM information_schema.`COLUMNS` C
      WHERE table_schema = "your_database_name" AND table_name = "your_table_name" AND column_name = "your_column_name";
      Copier après la connexion
  2. Définissez le jeu de caractères et le classement sur utf8 et utf8_general_ci :

    • Pour la base de données :

      ALTER DATABASE your_database_name CHARACTER SET utf8 COLLATE utf8_general_ci;
      Copier après la connexion
    • Pour la table :

      ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
      Copier après la connexion
    • Pour le colonne :

      ALTER TABLE your_table_name MODIFY your_column_name VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_general_ci;
      Copier après la connexion
  3. Insérer manuellement des données arabes dans la base de données :

    • Utiliser un éditeur comme phpMyAdmin ou SQLyog qui prend en charge le codage de caractères UTF-8.
    • Vérifiez que le jeu de caractères et le classement de votre éditeur et la base de données sont définies sur utf8_general_ci.
    • Saisissez les caractères arabes directement dans les champs de texte de l'interface de la base de données.

En vous assurant que la base de données, la table et Le jeu de caractères et le classement des colonnes sont définis pour prendre en charge les caractères arabes, vous pouvez stocker et récupérer avec succès des données arabes 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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal