Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Probleme beim Einfügen von utf-8-Strings in die Datenbank und dann bei der Ausgabe auf der Webseite

Ja, das kann ich.
Sie haben Mysql-Server nicht mitgeteilt, welche Datenkodierung Sie wünschen.
Mysql kann jede Kodierung liefern, falls Ihre Seitenkodierung von der gespeicherten Datenkodierung abweicht. Und codieren Sie es im Handumdrehen neu.
Daher muss ihm die bevorzugte Codierung des Clients mitgeteilt werden (Ihr PHP-Code ist dieser Datenbankclient).
Standardmäßig ist es latin1 . Da solche Symbole in der latin1-Zeichentabelle nicht vorhanden sind, werden stattdessen Fragezeichen zurückgegeben.

Es gibt zwei Möglichkeiten, mysql mitzuteilen, welche Kodierung wir wollen:

  • Ein etwas bevorzugteres ist mysqli_set_charset() Funktion (Methode in Ihrem Fall).
  • weniger bevorzugt ist SET NAMES Anfrage.

Aber solange Sie die mysqli-Erweiterung richtig verwenden, spielt das keine Rolle. (obwohl du es nicht bist)

Beachten Sie, dass diese Kodierung in MySQL utf8 heißt , ohne Bindestriche oder Leerzeichen.