Umlaute
Hallo
Vor 2 Jahren hatte ich Umlautproblene beim Excel-Export. Jetzt im PHP/MySql und die damaligen Tipps helfen nicht weiter. Ich habe Daten auf dem internen Server und welche extern im Internet. Die Umlaute auf dem internen Server kommen, die externen nicht. Die Ausgabe ist auf derselben Seite, und doch so unterschiedlich. Habe verschiedene Versionen ausgetestet, nichts bringt was. Immer sind die Umlaute von der internen DB gut und die vom externen Server nicht. In der DB sind an beiden Orten die Umlaute uncodiert erfasst, also öäü Wie kann ich die Umlaute vom externen Server richtig anzeigen? PHP-Code:
Habe auch die DB angeschaut mit SHOW VARIABLES LIKE 'character_set%' und die sind auf utf8 gesetzt. Code:
character_set_client utf8 und der Header im HTML Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
AW: Umlaute
Zitat:
Und warum eine for und keine while Schleife? Zitat:
Zitat:
Hääää... Auch den richtigen HTTP Header gesendet? |
AW: Umlaute
Ja habe alles so gepostet wie ich es habe, inkl. den unterschiedlichen Tests.
Wenn ich im Header schreibe: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> dann sind die Umlaute der internen DB nicht richtig, die externen schon Bei <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> sind die internen Umlaute gut, die externen nicht. Wenn ich die externe DB jedoch über das Internet anschaue, also auch extern kommt die Umlaute richtig. Vielelciht liegt es doch am Header. Code:
<?php session_start(); |
AW: Umlaute
Warum hast du die Frage zum Verbindungscharset nicht beantwortet?
|
AW: Umlaute
Vermutlich weil ich sie nicht verstanden habe, sorry
Sehe nun klarer aber bin nicht weiter! Mit dem Header <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> kommt die externe DB richtig Mit <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> die interne Jetzt möchte ich die interne DB so umstellen dass alles auf utf8 ist. Habe im phpMyAdmin im SQL-Feld SHOW VARIABLES LIKE 'character_set%' gemacht und folgendes erhalten: character_set_client utf8 character_set_connection utf8 character_set_database utf8 character_set_filesystem binary character_set_results utf8 character_set_server latin1 character_set_system utf8 character_sets_dir D:\xampp\mysql\share\charsets\ Kann es daran liegen dass character_set_server latin1 steht? Ich möchte nun, dass alles mit utf8 erkennbar ist. die externe DB geht dann und intern sollte ich es umstellen. Doch mit allem anpassen und umkopieren geht es nicht. PS: gerne würde ich die Verbindungscharset beantworten, doch ich weiss nicht wo ich das finde Danke |
AW: Umlaute
Zitat:
Denk' mal nach. Kai aka Knight1 |
AW: Umlaute
ist es das
SHOW VARIABLES LIKE 'collation%'; collation_connection utf8_bin collation_database utf8_general_ci collation_server latin1_swedish_ci Wie kann ich den collation_server latin1_swedish_ci auf UTF8 anpassen? da liegt doch das Problem, oder? |
AW: Umlaute
Habe mal eine neue DB erfasst
create database adresskartei character set latin1 collate latin_german1_ci und dann SHOW VARIABLES LIKE 'collation%' Und der Schwede ist immer noch drin collation_connection utf8_general_ci collation_database latin1_german1_ci collation_server latin1_swedish_ci oder; create database adresskartei2 character set utf8 collate utf8_general_ci collation_connection utf8_general_ci collation_database utf8_general_ci collation_server latin1_swedish_ci Was muss es heissen? Und der Schwede???? |
AW: Umlaute
Die extrerne DB die richtig ist hat folgende Einstllungen
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 /usr/local/share/mysql/charsets/ collation_connection utf8_general_ci collation_database utf8_unicode_ci collation_server utf8_unicode_ci Eben: ohne Schwede! |
AW: Umlaute
Zitat:
Der Test mit phpMyAdmin hilft wenig weiter denn phpMyAdmin setzt seinen eigenen Verbindungscharset. Du musst ihn selber im PHP setzen. Dafür gibts eine spezielle MySQL_**** Funktion. Nutze sie. Und welchen Charset der Server hat ist dabei egal. character_set_server latin1 ist egal Und auch die Collation ist erstmal für das Problem egal. Denn das betrifft nur Vergleiche und das Sortieren |
Alle Zeitangaben in WEZ +2. Es ist jetzt 15:25:51 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.