Hallo,
ich habe ein zml blödes Problem mit Umlauten in meiner MySQL-Db.
Der Zeichensatz ist utf, charset utf_general_ci
Nachdem Aufbau einer Verbindung in PHP Skript setze ich diverse Variablen mit folgendem Query:
Umlaute werden in der Datenbank jetzt mit komischen Sonderzeichen gespeichert, muss des sql query im Moment vorher mit utf8_encode(); encoden um Ergebnisse zu erhalten.
Mein Problem ist jetzt dass ich aber auch Datensätze habe wo die Umlaute korrekt gespeichert werden, also ö als ö und nicht als ö.
Das führt nicht selten zu leeren Ergebnissen bei Querrys mit Umlauten.
jetzt ist meine Frage, ob das alles überhaupt so weit richtig passt (zeichensatz, die ganzen variablen nach dem verbindungsaufbau) und ob umlaute als umlaute oder eben mit diesen sonderzeichen gespeichert werden sollen.
ausserdem habe ich gehört, dass wenn man den html zeichensatz im header auf utf-8 setzt, man die sonderzeichen nit escapen muss. ist das richtig?
ich habe ein zml blödes Problem mit Umlauten in meiner MySQL-Db.
Der Zeichensatz ist utf, charset utf_general_ci
Nachdem Aufbau einer Verbindung in PHP Skript setze ich diverse Variablen mit folgendem Query:
PHP-Code:
<?php
mysql_query("
set names 'utf8';
set collation_connection ='utf8_unicode_ci';
set collation_database='utf8_unicode_ci';
set character_set_client='utf8';
set character_set_results='utf8';
set character_set_server='utf8';
set character_set_database='utf8';
");
?>
Mein Problem ist jetzt dass ich aber auch Datensätze habe wo die Umlaute korrekt gespeichert werden, also ö als ö und nicht als ö.
Das führt nicht selten zu leeren Ergebnissen bei Querrys mit Umlauten.
jetzt ist meine Frage, ob das alles überhaupt so weit richtig passt (zeichensatz, die ganzen variablen nach dem verbindungsaufbau) und ob umlaute als umlaute oder eben mit diesen sonderzeichen gespeichert werden sollen.
ausserdem habe ich gehört, dass wenn man den html zeichensatz im header auf utf-8 setzt, man die sonderzeichen nit escapen muss. ist das richtig?
Kommentar