Heim > Datenbank > MySQL-Tutorial > Warum erscheinen beim Speichern von Daten in MySQL Fragezeichen anstelle von arabischem Text?

Warum erscheinen beim Speichern von Daten in MySQL Fragezeichen anstelle von arabischem Text?

Barbara Streisand
Freigeben: 2024-12-10 14:19:11
Original
193 Leute haben es durchsucht

Why are Question Marks Appearing Instead of Arabic Text When Storing Data in MySQL?

Speichern arabischer Daten in einer MySQL-Datenbank

Problem:

Beim Versuch, arabischen Text in einer MySQL-Datenbank zu speichern, wird eine Frage gestellt Anstelle der vorgesehenen Zeichen erscheinen Markierungen („????“).

Design des Tabelle:

CREATE DATABASE mydb
DEFAULT CHARACTER SET utf8
DEFAULT COLLATE utf8_general_ci;

CREATE TABLE `categories` (...);
Nach dem Login kopieren

Beobachtungen:

  • Die Datenbank, die Tabelle und die Spalte sind auf die Verwendung der UTF-8-Zeichenkodierung eingestellt.
  • Die Daten werden nicht korrekt eingefügt, was zu Fragen führt Markierungen.

Lösung:

Um dieses Problem zu beheben, stellen Sie sicher, dass die folgenden Schritte befolgt werden:

  1. Zeicheneinstellungen überprüfen:

    • Führen Sie die folgenden Abfragen aus um den Zeichensatz und die Sortierungseinstellungen für die Datenbank, die Tabelle und die Spalte zu überprüfen:

      • Datenbank: SELECT default_character_set_name FROM information_schema.SCHEMATA S WHERE schema_name = "schemaname";
      • Tabelle: 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 = "schemaname" AND T.table_name = "tablename";
      • Spalte: SELECT Character_set_name FROM information_schema.COLUMNS C WHERE table_schema = "schemaname" UND Tabellenname = „Tabellenname“ UND Spaltenname = "Spaltenname";
  2. UTF-8-Einstellungen manuell festlegen (falls erforderlich):

    • Wenn die Einstellungen nicht auf UTF-8 eingestellt sind, verwenden Sie Folgendes Befehle:

      • Datenbank: ALTER DATABASE Schemaname CHARACTER SET utf8 COLLATE utf8_general_ci;
      • Tabelle: ALTER TABLE Tabellenname CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
      • Spalte: ALTER TABLE Tabellenname ÄNDERN Sie den Spaltennamen VARCHAR(n) CHARACTER SET utf8;
  3. Arabische Daten manuell einfügen:

    • Verwenden Sie ein Tool, das das Einfügen von arabischem Text unterstützt, z. B. SQLYog oder phpMyAdmin.
  4. Rechtsklick-Option (bei Verwendung von SQLYog):

    • Rechtsklick auf die Datenbank, Tabelle , oder Spalte und wählen Sie „Ändern“.
    • Stellen Sie den Zeichensatz auf UTF-8 und die Sortierung auf ein UTF-8_general_ci.

Durch Befolgen dieser Schritte werden die richtigen arabischen Zeichen gespeichert und ohne Fragezeichen aus der MySQL-Datenbank abgerufen.

Das obige ist der detaillierte Inhalt vonWarum erscheinen beim Speichern von Daten in MySQL Fragezeichen anstelle von arabischem Text?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage