Dieser Code war ich versuchen. Ich verwende Mysql und PHP 5.3
%Vor%= & gt; Ich habe gute utf-8 Render-Anzeige, gut gemacht.
Aber jetzt erstelle ich ein Klassen-PDO, um einfach zu erweitern und einfacher zu bleiben
%Vor%Aber es zeigt mit meinem Charakter so etwas wie "????"
Ich habe in stackoverflow diesen Link gefunden, es sieht genauso aus wie ich Sonderzeichen in PHP / MySQL
Es sieht genauso aus wie mein Problem = & gt; Ich versuche es zu beheben. Aber ich habe es immer noch nicht verstanden.
$this->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAME'utf8'");
Jeder kann mir sagen, was das Problem ist? Wie kann ich es korrigieren?
Danke
Sie vermissen ein S : es ist SET NAMES
und nicht SET NAME
:
Sie müssen es natürlich auch deaktivieren. Auch PDO::MYSQL_ATTR_INIT_COMMAND
kann nicht mit PDO::setAttribute()
festgelegt werden Sie haben Ihre Datenbankverbindung hergestellt (der konstante Name sagt alles), Sie müssen ihn im Konstruktor $driver_options
Eine Alternative dazu ist, genau diese Abfrage direkt nach dem Verbinden auszuführen:
%Vor%Ich hatte die gleichen Probleme und fand heraus, nachdem ich 1000000 verschiedene Optionen getestet habe, dass die Standard-Mysql-Engine immer noch MyISAM bleibt.
Überprüfen, ob InnoDB die Standard-Speicher-Engine ist:
Geben Sie den Befehl SHOW VARIABLES LIKE 'have_innodb';
aus, um zu bestätigen, dass InnoDB überhaupt verfügbar ist.
Geben Sie dann den Befehl SHOW ENGINES;
ein, um alle verschiedenen MySQL-Speicher-Engines anzuzeigen.
Suchen Sie nach DEFAULT
in der Zeile InnoDB
und NICHT nach der Zeile MyISAM
. Mir wurde klar, dass meine Einstellung eine Einstellung enthielt, die mich daran hinderte, die Standard-Engine mit SET storage_engine=MYISAM;
zu ändern. In meinem Fall kontaktierte ich meinen Provider und wurde angewiesen, die Option zu ändern, um die Standard-Engine zu ändern. Hoffe das hilft!
Die Möglichkeit, Sonderzeichen mit PDO einzufügen, folgen Sie einfach den folgenden Schritten:
1) Setzen Sie die Verbindungsklasse Attribut zu Ihnen.
%Vor%2) Sie können jetzt htmlspecialchars verwenden, während Sie die Abfrage erstellen und in die Datenbank einfügen:
%Vor%Und es wird gut funktionieren.
Tags und Links php pdo unicode-string