Ausländische (türkische) Zeichen in DB speichern

ultrakollega

Erfahrenes Mitglied
Hallo,

habe folgendes Problem. Ich sollte in meine MySQL DB türkische Zeichen reinschreiben können, zB dieses Wort:

Code:
a?a??daki

Das ganze läuft über ein normales HTML Forumlar, welches von einem PHP Skript
verarbeitet wird.

Wenn ich mir das mit phpMyAdmin anschaue, sieht das Wort in der DB dann so aus:

Code:
a?adaki

Es wurden also die türkischen Buchstaben nicht korrekt gespeichert.

Wenn ich aber dieses Wort direkt in phpMyAdmin in die DB schreibe, wird es korrekt
gespeichert. Nun die Frage, wie macht phpMyAdmin das?

In phpMyAdmin kann man ja die Kollation der MySQL-Verbindung jederzeit
umstellen, weiß jemand wie das im Skript geht?

Hier noch Infos zu meinen MySQL:

Code:
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     |
| character_set_connection | latin1                     |
| character_set_database   | latin1                     |
| character_set_results    | latin1                     |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

+----------------------+-------------------+
| Variable_name        | Value             |
+----------------------+-------------------+
| collation_connection | latin1_swedish_ci |
| collation_database   | latin1_german2_ci |
| collation_server     | latin1_german2_ci |
+----------------------+-------------------+

Habe auch schon versucht "collation_connection" auf "utf8_unicode_ci" umzustellen, ohne erflog.

Wie gesagt, ich möchte die türkischen Zeichen über mein HTML Formular und PHP Skript korrekt auf türkisch in die DB speichern, was mir leider nicht gelingt. Aber phpMyAdmin kann das anscheinend doch, die Frage ist wie :)

Die Kollation der einzelnen Spalten sind auf "latin5_turkish_ci".

Danke für Tipps :)

Gruß

uk
 
Am besten verwendest du auf allen Ebenen eine einheitliche Zeichenkodierung, am besten UTF-8. Dazu musst du sowohl die Kodierung für die Eingabe festlegen:
HTML:
<form … accept-charset="utf-8">
… für die Verarbeitung in der Datenbank und für die Ausgabe:
PHP:
header('Content-Type: text/html; charset=utf-8');
 

Neue Beiträge

Zurück