Abend allerseits,
ich habe ein Problem, was mich schon länger beschäftigt und bei dem ich nach langem Umschauen bislang keine Lösung finden konnte.
Daher möchte ich jetzt um Rat/Hilfe bitten.
Zunächst möchte ich mal meine Vorgehensweise erklären, um das Problem zu reproduzieren:
-Eine in ANSI Kodierung geschriebene Datei(xml) wird mittels LUA Script(Konverter) in SQL Zeilen formatiert, dabei bleibt die Kodierung gleich(ANSI)
-Datenbank vom Server hat als charset utf-8, die Tabelle auch
-Website script (UTF-8 )/ meta charset = utf-8 + folgende Zeilen:
-Die vorher angesprochene Datei (in Querry formatiert mit ANSI Kodierung) wird im mysql Client (navicat) ausgeführt und als encoding nehme ich utf-8
-Im Mysql Client(navicat) werden alle Umlaute richtig dargestellt, auf der Website/Mysql Server jedoch nicht
Was ich bisher probiert habe:
Mysql-Server auf latin1 stellen, DB auf latin1 stellen, Datei auf Utf-8 kodieren (alle Umlaute anpassen), Datei-Encoding (im Mysql Client) utf-8/ANSI Latin1/iso-8859-1 verwenden, website script (ANSI,meta charset ANSI, querry ANSI).
Als Anleitung habe ich diesen Link benutzt.
Ich hab also viele Kombinationen probiert einfach, weil ich dieses Kodierungsthema noch nicht ganz verstehe.
Wenn ich zu dem Punkt angelange, dass die Website/der Mysql Server alle Zeichen richtig interpretiert (etwa bei UTF-8 Kodierung der Datei),
funktioniert die Anzeige in der Datenbank (mysql Client: navicat) und im gewünschten System nicht mehr. Es greifen also zwei unterschiedliche Systeme:
Website/Sonstiges auf die Datenbank zu, wobei beide den Datensatz unterschiedlich interpretieren. Ich habe gelesen, dass es ja nach OS, anders
interpretiert wird und es demnach daran liegen könnte. Nur ist jetzt die Frage, wie ich eine einheitliche Kodierung schaffe, die in beiden Fällen
übereinstimmt.
Ich hoffe die Problembeschreibung ist ausführlich/verständlich genug.
Ich bin sehr verbunden für schnelle Antworten.
Gruße,
Brese
ich habe ein Problem, was mich schon länger beschäftigt und bei dem ich nach langem Umschauen bislang keine Lösung finden konnte.
Daher möchte ich jetzt um Rat/Hilfe bitten.
Zunächst möchte ich mal meine Vorgehensweise erklären, um das Problem zu reproduzieren:
-Eine in ANSI Kodierung geschriebene Datei(xml) wird mittels LUA Script(Konverter) in SQL Zeilen formatiert, dabei bleibt die Kodierung gleich(ANSI)
-Datenbank vom Server hat als charset utf-8, die Tabelle auch
-Website script (UTF-8 )/ meta charset = utf-8 + folgende Zeilen:
PHP-Code:
$strQuery = "SET character_set_results = 'utf8',
character_set_client = 'utf8',
character_set_connection = 'utf8',
character_set_database = 'utf8',
character_set_server = 'utf8'";
mysql_query($strQuery);
mysql_query("SET NAMES 'utf8' COLLATE 'utf8_general_ci'") or die(mysql_error());
-Im Mysql Client(navicat) werden alle Umlaute richtig dargestellt, auf der Website/Mysql Server jedoch nicht
Was ich bisher probiert habe:
Mysql-Server auf latin1 stellen, DB auf latin1 stellen, Datei auf Utf-8 kodieren (alle Umlaute anpassen), Datei-Encoding (im Mysql Client) utf-8/ANSI Latin1/iso-8859-1 verwenden, website script (ANSI,meta charset ANSI, querry ANSI).
Als Anleitung habe ich diesen Link benutzt.
Ich hab also viele Kombinationen probiert einfach, weil ich dieses Kodierungsthema noch nicht ganz verstehe.
Wenn ich zu dem Punkt angelange, dass die Website/der Mysql Server alle Zeichen richtig interpretiert (etwa bei UTF-8 Kodierung der Datei),
funktioniert die Anzeige in der Datenbank (mysql Client: navicat) und im gewünschten System nicht mehr. Es greifen also zwei unterschiedliche Systeme:
Website/Sonstiges auf die Datenbank zu, wobei beide den Datensatz unterschiedlich interpretieren. Ich habe gelesen, dass es ja nach OS, anders
interpretiert wird und es demnach daran liegen könnte. Nur ist jetzt die Frage, wie ich eine einheitliche Kodierung schaffe, die in beiden Fällen
übereinstimmt.
Ich hoffe die Problembeschreibung ist ausführlich/verständlich genug.
Ich bin sehr verbunden für schnelle Antworten.
Gruße,
Brese
Kommentar