Hallo liebe mySQLer,
ich sitze seit Stunden vor meiner DB und komm nicht hinter das Geheimnis...
Ich nutze xampplite in der aktuellsten Version.
Wenn ich phpMyAdmin benutze sehe ich alle Umlaute in de DB richtig angezeigt, wenn ich die Konsole (WIN7 cmd) oder PHP benutze, zerhauts mir alle Umlaute die ich aus der DB hole (alle Anderen im PHP-Code werden richtig dargestellt). Wenn ich mir die (SQL) Variablen in der Konsole ausgeben lasse
Code:
mysql> SHOW VARIABLES LIKE '%collation_%';
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+----------------------+-----------------+
3 rows in set (0.00 sec)
mysql> SHOW VARIABLES LIKE '%character_set%';
+--------------------------+----------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | \xampplite\mysql\share\charsets\ |
+--------------------------+----------------------------------+
ist alles schön auf utf8 gestellt, in phpMyAdmin wird mir collation_server mit latin1_swedish_ci angezeigt
Code:
character_set_client utf8
character_set_connection utf8
character_set_database latin1
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8
character_sets_dir \xampplite\mysql\share\charsets\
collation_connection utf8_general_ci
collation_database latin1_swedish_ci
collation_server latin1_swedish_ci
obwohl ich explizit ein anderen charset angebe
Code:
DROP DATABASE IF EXISTS Portal;
SET NAMES 'utf8';
SET character_set_server = 'utf8';
SET collation_server = 'utf8_general_ci';
CREATE DATABASE Portal
DEFAULT CHARACTER SET 'utf8'
DEFAULT COLLATE 'utf8_general_ci';
Wie kann das sein? Oder was mach ich falsch?
Und vor allem warum zeigt mir phpMyAdmin was anderes an als die Konsole. Zeigt der Browser es richtig an und die Einträge sind mit ordentlichen Umlauten in der DB gespeichert oder zeigt mir die Konsole die richtigen Einträge (mit falschen Umlauten)?
Alle SQL Dateien sind ebenfalls auf utf8 ohne BOM gestellt.
Ich bin am Verzweifeln und wäre Dankbar über jede Hilfe, ist dass erste Mal das ich SQL nutze.
Beste Grüße
deBubschie