2016-11-04 2 views
-2

Ich habe einige Probleme mit der Codierung in MySQL-Server und ich weiß nicht, wie man es löst.PHP My-SQL-Codierung

Das Problem ist, dass ich Tweets mit API Rest von Twitter in einem MySQL-Server aufgenommen habe. Ich benutze PHP, um dies zu tun. Wenn ich den Server mit PHP-Skript abfrage, kann ich die speziellen spanischen Zeichen und Emojis perfekt darstellen, aber wenn ich über NaviCat oder DBeaver abfrage, kann ich es nicht richtig sehen.

Ich konfiguriere die Tabellen für utf8mb4 und Kollation utf8mb4_unicode_ci. Ich versuche es auch mit utf8 und utf8_unicode_ci.

Wie ich sage, ich mache ein PHP-Skript und visualisieren die Ausgabe in einem Chrome und Explorer, und dann sind sie korrekt visualisiert.

Ich weiß nicht, was könnte das Problem irgendwelche Vorschläge?

Vielen Dank

+0

Wahrscheinlich ein Codierungsproblem in NaviCat und Dbeaver, dann. Stellen Sie sicher, dass sie die Tabelle/den Inhalt mit UTF8-Codierung anzeigen. BTW, das ist keine Programmierfrage. – junkfoodjunkie

+0

habe ich schon gemacht, funktioniert aber nicht. – Xbel

+0

Für Emoji brauchst du utf8mb4, nicht utf8. –

Antwort

0

Ich finde endlich das Problem. Das Problem lag im PHP-Skript, das mit API Rest von Twitter verbunden ist. Wenn das Skript Twits in DataBase aufzeichnet, geben Sie keine Codierung an. Daher kennt MySQL die Codierung nicht.

Ich löse das Problem, indem ich das Skript ändere. Um die ohne Kodierung aufgezeichneten Twits wiederherzustellen, benutze ich ein PHP-Skript, um es in eine CSV zu konvertieren, und zeichne es dann erneut unter Angabe der Kodierung auf.