Heim > Datenbank > MySQL-Tutorial > Hauptteil

Warum erscheinen meine UTF-8-kodierten Daten als Kauderwelsch, wenn ich PDO mit MySQL verwende?

Barbara Streisand
Freigeben: 2024-11-04 13:17:01
Original
1040 Leute haben es durchsucht

Why does my UTF-8 encoded data appear as gibberish when using PDO with MySQL?

PDO MySQL UTF-8-Kodierungsprobleme

Problem: Bei Verwendung von PDO mit einer MySQL-Datenbank in PHP, UTF -8 codierte Daten, die in die Datenbank eingefügt werden, erscheinen als Kauderwelsch.

Mögliche Ursache:

  • Falsche Behandlung von Zeichensatz- und Codierungseinstellungen beim Aufbau der Datenbankverbindung.

Lösung:

  • Stellen Sie bei der Initialisierung der Datenbankverbindung den richtigen Zeichensatz und die korrekte Codierungskonfiguration sicher. Verwenden Sie die folgende Syntax:
<code class="php">$pdo = new PDO( 
    'mysql:host=hostname;dbname=defaultDbName', 
    'username', 
    'password', 
    array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8") 
); </code>
Nach dem Login kopieren

Diese Zeile erzwingt die UTF-8-Kodierung auf der PDO-Verbindung und behebt die Kodierungsprobleme.

Warnung: Diese Lösung ist für PHP-Versionen 5.3.5 und früher gedacht. Für PHP-Versionen 5.3.6 und höher finden Sie alternative Lösungen an anderer Stelle.

Das obige ist der detaillierte Inhalt vonWarum erscheinen meine UTF-8-kodierten Daten als Kauderwelsch, wenn ich PDO mit MySQL verwende?. 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