Mysql Datenbank und kyrillische Schriftzeichen

Hallo,

ich brauche wieder einmal eine kleine Hilfe

Ich schreibe eine kleine Datenbankanwendung, die russische Sprache in die Datenbank (mysql) abspeichert. In HTML hab ich eingestellt.

Wenn ich Daten aus eine Formular (method=post) über php in die Datenbank abspeichere werden die Zeichen in irgendeiner anderen Kodierung abgespeichert. sieht so aus: ывапывапвпа also unlesbar.

Meine Frage: Wie soll ich es einstellen dass die kyrillischen Buchstaben so abgespeichert (und später herausgelesen) werden, dass sie überall in gleichen Kodierung gespeichert werden?

Hab schon versucht in der mysql Kollation auf utf-8 gestellt - ohne Erfolg.

Hallo,

schwirrt bei Dir vielleicht noch eine „local.php“ herum? Überprüfe dort doch mal den Zeichensatz.

Ansonsten hilft Dir vielleicht dieser Artikel:

http://www.computerbase.de/forum/showthread.php?t=38…

mfg

tf

ich habe bei mir kein local.php… wo soll ich diese Dastei finden? Es ist nicht mein eigener Server, sondern shared von hosteurope. Ich hab da kein zugriff auf php einstellungen. Zumindest die von denen ich so kenne. Bin leider kein großer experete darin.

Den Link hab ich auch gelesen, bevor ich gepostet hab. Daher hab ich ja utf-8 in HTML und in Kollation von MYSQL eingestellt. Trotzdem macht er falsche Kodierung.

Ausser dass ich eine eigene Routine zur Übersetzung der Zeichen programmieren muss was sehr umständlich ist, sehe ich kein Ausweg. Vieleicht hab ich was übersehen?

also in HTML auf UTF-8 gestellt
In Browser auf utf-8
Kollation von Mysql über myphpadmin eingestellt.

Trotzdem klappt da was nicht

Hi

Du schreibst:

also in HTML auf UTF-8 gestellt
In Browser auf utf-8
Kollation von Mysql über myphpadmin eingestellt.

Es wäre eventuell hilfreich wenn du mal den Quellcode zeigst den die Daten durchlaufen.

Es gibt viele PHP Funktionen die auf ISO laufen und denen man erst sagen muß das sie in UTF-8 arbeiten müssen ( z.B. htmlentity und htmlspecialchar).

Gruß Lamer

Probier mal folgenden Code nach einer erfolgreichen MySql-Verbindung

mysql\_query("SET NAMES 'utf8'");

Ach super damit hats geklappt

Um UTF-8 auszugeben muss eben alles auf utf-8 gesetzt sein:
HTML Seite selbst,
Tabellenspalte selbst und eben
MySQL Ausgabe auch

Grüsse :smile:

Das Problem ist, dass neben der Ausgabe-Formatierung im HTML und der Datenbank auch noch die Tabelle selbst, die jeweiligen Felder und vor Allem die Verbindung zum MySQL-Server die korrekten Character-Sets verwenden. Entweder stellt man das mit SET NAMES ‚utf8‘; ein, so wie es bereits gesagt wurde oder man konfiguriert den MySQL-Server so, dass standardmäßig utf8-Verbindungen verwendet werden.

SET NAMES ‚utf8‘; entspricht dabei einfach nur folgenden SQL-Befehlen:
SET character_set_client=‚utf8‘;
SET character_set_connection=‚utf8‘;
SET character_set_results=‚utf8‘;
Zusätzlich kann zur Laufzeit auch die Collation noch angepasst werden:
SET collation_connection=‚utf8_general_ci‘;
SET collation_database=‚utf8_general_ci‘;

Einfacher wäre es allerdings - sofern möglich - die Einstellungen des Servers zu manipulieren, damit nicht bei jedem Seitenaufruf bzw. bei jeder Verbindung zum MySQL-Server zumindest die drei ersten Befehle ausgeführt werden müssen (SET NAMES führt ja zu den drei Befehlen und ist nur eine Kurzform). Bei stark frequentierten Seiten kann das durchaus ein Optimierungs-Punkt sein.