Die lateinischen Zeichen in phpMyAdmin mit UTF-8 collation
Meiner website verwendet:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
Und dieser meta:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Habe ich meine Datenbank und die Tabellen in phpMyAdmin sicherstellen, dass alles eingestellt ist wie utf8_unicode_ci (Tabelle, Felder, Datenbank), auch die Verbindung der Sortierung.
Wenn ich fügen Sie einige lateinische Zeichen (Akzente, ñ und so ein Zeug) in die Datenbank mit einem standard-Formular in PHP, es funktioniert einwandfrei, ich kann die Wiedergabe der gespeicherten Daten in meine website kein problem. Aber wenn ich gehe zu phpMyAdmin, die alle die lateinischen Buchstaben sind alle Durcheinander, so etwas wie ñññ.
Wenn ich zu beheben versuchen, dass die Daten in phpMyAdmin, meine website zeigt die Daten falsch an, mit seltsamen Symbolen ���.
Was in dieser Welt mache ich falsch? Ich habe versucht, diese Arbeit heraus für Stunden, ohne Erfolg.
Danke an Euch alle!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als @Artefacto sagt, könnte dies ein problem sein lokal zu phpMyAdmin.
Wenn phpMyAdmin ist in Ordnung (d.h. auf UTF-8 eingestellt) und die Daten anzeigen, die noch bis skurril, dann schauen Sie, ob Ihre Datenbank Verbindung Verwendung von UTF-8 als gut?
(oder was auch immer Sie verwenden Sie als Datenbank-Bibliothek)
könnte helfen, wenn er es nicht ist.
Wenn phpMyAdmin zeigt
ñññ
stattñññ
, das ist, weil es die Interpretation einer UTF-8-bytestream als ISO-8859-1. Damit Ihre Datenbank-Inhalte sind wahrscheinlich richtig, phpMyAdmin ist nur, dass Sie in einer falschen Art und Weise.Ich bin nicht vertraut mit der Anwendung, aber Sie können erzwingen, dass der browser, die Seite zu Lesen als UTF-8 (in der Regel-Ansicht > Codierung > UTF-8).
für Scuzzu Frage gibt es mehrere Möglichkeiten:
http://www.mysqlperformanceblog.com/2007/12/18/fixing-column-encoding-mess-in-mysql/
Hätte ich acht weitere links mit unterschiedlichen Aufgaben, aber diese Seite wird mich davon abhalten, Sie zu sichern...
"als spam-Prävention-Mechanismus, neue Benutzer können sich nur einstellen, maximal ein hyperlink"
mysql_query("SET NAMES utf8") mein problem gelöst.
Problem: Zeichen korrekt angezeigt, in phpMyAdmin, falsch in HTML/PHP. Zeichen: â, î, etc.
Die Header ok sind (utf8), phpmyadmin zeigt den Inhalt in der richtigen form, aber die Webseite zeigt seltsame Frage-mark-Zeichen (in einem black diamond Charakter).
HTML-code:
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Lösung: ich habe in php (vor andere Fragen):
mysql_query("SET NAMES utf8");
Andere Ursachen führen zu diesem Verhalten; dies ist nur ein Teil der Lösung. Möglicherweise müssen Sie überprüfen, content-type -, web-server-Konfiguration (httpd.conf), html lang /dir, charset, etc. Allerdings, ein Fragezeichen in einer schwarzen Raute scheint spezifischer zu sein, um dieses problem/Lösung, in anderen Fällen angezeigt werden 2-3 komische Zeichen anstatt die, die Sie wollen.
Nachdem ich
mysql_query("SET names 'utf8';");
Sie müssen auch zu gehen, zu mySQL und zu definieren, Sortierung für UTF-8, auch!
Dies sollte Ihr problem lösen.
Viel Glück!
1 - Datei Bearbeiten:
2 - Look für [mysqld] den Eintrag und fügen Sie:
Die ganze Sicht Aussehen sollte:
3 - Starten der MySQL-Dienst!
Wenn phpMyAdmin ist in Ordnung (d.h. auf UTF-8 eingestellt) und die Daten anzeigen, die noch bis skurril, dann schauen Sie, ob Ihre Datenbank-Verbindung auf UTF-8?
Setzen Sie einfach
mysql_query("SET NAMES utf8");
nachmysql_connect
Linie:War ich kämpfte mit dem gleichen problem und fand schließlich eine elegante Weise zu überprüfen, und ändern Sie die Sortierung über die PHP-Funktion
mysqli_set_charset
. Folgendes Stück code hat, enthalten zwischen einem$conn
überprüfen und eine$sql
- Abfrage:Ich hier die Lösung gefunden: http://php.net/manual/en/mysqli.set-charset.php