Problem mit UTF-8
am 28.01.2006 05:59:41 von newsgroups
Hallo,
ich 2 verschiedene Mysql-Datenbanken, meine lokale Entwicklungs-Db und die
Remote beim Webhoster. Diese sind bis auf die unterliegende Hardware und
die Linuxversion völlig identisch.
Jedoch habe ich bei der Remote das Problem das ich die Inhalte dieser,
komplett auf UTF-8 eingestellten, Datenbank bei einer Abfrage auf meiner
Webseite als ISO-8859-1 ausgeliefert bekomme, was mir meine gesamten
Umlaute und andere Sonderzeichen wie das ¤ zerhaut, da meine Seiten selber
UTF-8 kodiert sind. Header werden per PHP passend utf-8 gesendet und
gesetzt.
Merkwürdigerweise läuft dies jedoch auf meinem Entwicklungsrechner
Problemlos, da werden mir die Daten brav als UTF-8 ausgeliefert.
Die Versionen und Build-Optionen und Config-Dateien vom Mysql4, Apache2 und
PHP5 sind auf beiden Rechnern identisch, ebenso die Datenbanken (auf dem
Remote läuft ein Export der Entwicklungs-DB).
Hat irgendjemand eine Idee woran es liegen, oder was man da machen kann? Ich
bin schon am verzweifeln langsam
Sebastian
Re: Problem mit UTF-8
am 28.01.2006 10:44:12 von Axel Schwenke
Sebastian =?UTF-8?B?QmXDn2xlcg==?= wrote:
>
> komplett auf UTF-8 eingestellten, Datenbank bei einer Abfrage auf meiner
> Webseite als ISO-8859-1 ausgeliefert bekomme, was mir meine gesamten
> Umlaute und andere Sonderzeichen wie das ¤ zerhaut, da meine Seiten selber
> UTF-8 kodiert sind. Header werden per PHP passend utf-8 gesendet und
> gesetzt.
>
> Merkwürdigerweise läuft dies jedoch auf meinem Entwicklungsrechner
> Problemlos, da werden mir die Daten brav als UTF-8 ausgeliefert.
>
> Die Versionen und Build-Optionen und Config-Dateien vom Mysql4, Apache2 und
> PHP5 sind auf beiden Rechnern identisch,
Hier fehlt ein "scheinbar".
> Hat irgendjemand eine Idee woran es liegen, oder was man da machen kann? Ich
> bin schon am verzweifeln langsam
Leider schreibst du nicht, ob dein MySQL ein 4.0 oder 4.1 ist. Ich
vermute mal letzteres. MySQL ab 4.1 konvertiert Abfragergebnisse
automatisch, wenn ein entsprechender connection- oder result-charset
eingestellt ist. Mach mal SHOW VARIABLES LIKE 'char%' auf beiden
Datenbanken und vergleiche die Ergebnisse.
Dann brauchst du noch RTFM:
insbesondere
XL
Re: Problem mit UTF-8
am 28.01.2006 13:19:40 von newsgroups
Axel Schwenke wrote:
> Sebastian wrote:
>> Die Versionen und Build-Optionen und Config-Dateien vom Mysql4, Apache2
>> und PHP5 sind auf beiden Rechnern identisch,
> Hier fehlt ein "scheinbar".
Hmm.. Ich gebe es nur ungerne zu wenn ich falsch lag aber..
Ja da fehlte wirklich das "scheinbar" ;-)
> Leider schreibst du nicht, ob dein MySQL ein 4.0 oder 4.1 ist. Ich
> vermute mal letzteres. MySQL ab 4.1 konvertiert Abfragergebnisse
> automatisch, wenn ein entsprechender connection- oder result-charset
> eingestellt ist. Mach mal SHOW VARIABLES LIKE 'char%' auf beiden
> Datenbanken und vergleiche die Ergebnisse.
Ja, es sind 4.1 Versionen. Entschuldige das auslassen.. Es war spät ;-D
Ein
$db_nameset = mysqli_query($link, 'SET NAMES utf8');
$db_charset = mysqli_query($link, 'SET CHARACTER_SET utf8');
hat wahre Wunder bewirkt, danke jetzt läuft alles wie es soll.
Euch allen ein gutes Wochenende
wünscht ein sehr glücklicher
Sebastian