2010-12-22 5 views
1

Ich benutze ckeditor 3.4, um Daten (Text) in die Datenbank einzufügen und dann auf einer Seite anzuzeigen.Daten in db ist falsch Codierung (mit CKeditor) und Griechisch

Problem: wenn ich (griechisch) in den ckeditor schreibe, ist alles in Ordnung. Wenn ich die HTML-Taste des ckeditor erneut drücke, ist alles in Ordnung (z. B. sehe ich den tatsächlichen Text, der nicht als HTML-Entitäten typisiert wurde). Allerdings, wenn ich die Daten speichern (und damit speichern sie auf den db) die gespeicherten Daten in der DB sind wie diese

"<p style="text-align: center;"> 
    ... σÏντομα πεÏισσότεÏες πληÏοφοÏίες...</p> 
<p> 
    &nbsp;</p>" 

Hinweis: wenn ich die Daten die korrekt angezeigt werden auf der Webseite wieder zu verwenden.

Aktionen bisher unternommen: $conn->query("SET NAMES 'utf8'");

2- In den config.js der ckeditor ich hinzugefügt haben, die folgenden Zeilen

config.entities = false; 
config.entities_greek = false; 
config.entities_latin = false; 
config.entities_processNumerical = false; 
    // Define changes to default configuration here. For example: 
    config.language = 'el'; 
    // config.uiColor = '#AADC6E'; 
}; 
:

1- die Verbindungsdatei an die DB die Folgendes

3- meine Web-Seiten sind auf: content="text/html;charset=utf-8"

4- db colation: utf8_unicode_ci/type MyIsam

Ich habe herum gesucht, aber kein Glück. ich Hilfe

+0

Welches Programm/Skript verwenden Sie, um DB-Inhalte anzuzeigen? Vielleicht unterstützt es UTF-8 einfach nicht? –

Antwort

0

schätzen würden, wenn Sie PHP oder eine andere Sprache verwenden, die dies nicht automatisch tun, müssen Sie

SET NAMES 'UTF8' 

auf der Verbindung aufzurufen, bevor Sie irgendwelche Aussagen Aufruf, um Verwenden Sie UTF-8 in Ihrer Datenbank.

Stellen Sie außerdem sicher, dass Sie alle Seiten als UTF-8 bereitstellen, sodass die veröffentlichten Daten in UTF-8 vorliegen.

Es gibt auch einige Konfigurationsparameter, die steuern, wie die Daten vom Server gesendet und verarbeitet werden, aber ich habe es nie geschafft, es ohne diese Anweisung zum Laufen zu bringen.

se mehr hier: http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html

EDIT: Ah, sorry, habe nicht gesehen, dass Sie dies tatsächlich getan haben. Wenn es bei der Ausgabe korrekt angezeigt wird und Ihr Zeichensatz auf der Seite auf UTF-8 gesetzt ist, gehe ich davon aus, dass Sie es nur mit einem Werkzeug in der Datenbank anzeigen, das UTF-8 nicht unterstützt, oder t dafür konfiguriert? Also, was genau ist das Problem im Moment?

+0

Ja, "σÏνÏ" Î "ist wie das Anzeigen von utf-8-Daten mit einem auf latin-1-Codierung eingestellten Viewer. Vielleicht ist es nur dein db viewer. – Eelvex

2

Vielen Dank für Ihre Antworten. Lösung war viel einfacher. Das richtige Schreiben ist SET NAMES UTF8 anstelle von SET NAMES 'utf8'