MySQL verdreht Umlaute?
am 30.06.2005 19:14:06 von Vinni Vega
Hallo,
ich habe in meinem Script folgende Zeilen:
$v1 = htmlentities($v1);
$v2 = htmlentities($v2);
$select = mysql_select_db($db, $conn);
$sql = "INSERT INTO keywords (v3, v1, v2)";
$sql .= " VALUES(\"".$v3."\", \"".$v1."\", \"".$v2."\")";
$result = mysql_query($sql, $conn);
Die Daten kommen dabei von einem HTML-Formular. Auf meinem Rechner und
meinem alten Server mit PHP 4.3.10 und MySQL 4.1.9 sind in der Tabelle wie
gewünscht alle Umlaute maskiert, also ä etc.
Auf meinem neuen Server mit PHP 4.3.11 und MySQL 4.0.23 steht allerdings z.
B. für ü ü oder für ä ä. Wie kann das sein,
wo muss ich den Fehler suchen?
V.
Re: MySQL verdreht Umlaute?
am 30.06.2005 21:18:53 von Niels Braczek
Vinni Vega schrieb:
> $v1 = htmlentities($v1);
> $v2 = htmlentities($v2);
> [...]
> Auf meinem neuen Server mit PHP 4.3.11 und MySQL 4.0.23 steht allerdings z.
> B. für ü ü oder für ä ä. Wie kann das sein,
> wo muss ich den Fehler suchen?
$v1 = htmlentities(utf8_decode($v1));
HTH
Niels
--
| http://www.kolleg.de · Das Portal der Kollegs in Deutschland |
| http://www.bsds.de · BSDS Braczek Software- und DatenSysteme |
| Webdesign · Webhosting · E-Commerce · Mambo Content Management |
`----------------------------------------------------------- -----´
Re: MySQL verdreht Umlaute?
am 01.07.2005 10:49:19 von Vinni Vega
> $v1 = htmlentities(utf8_decode($v1));
Danke, hat funktioniert! Auch wenn ich nicht genau verstehe warum. Warum
muss ich die Formular-Daten auf dem einen Server zuerst UTF8-dekodieren und
auf dem anderen nicht?
V.
Re: MySQL verdreht Umlaute?
am 01.07.2005 13:58:48 von Uli Honal
Vinni Vega wrote:
> [..] Warum muss ich die Formular-Daten auf dem einen Server
> zuerst UTF8-dekodieren und auf dem anderen nicht?
Der Browser überträgt die Formulardaten im selben Character-Encoding,=
in dem die Formular-Seite ausgeliefert wird (ausser Du setzt das
"accept-charset"-Atrribut).
Falls Du dafür weder per header() noch per -Tag selbst eine
Angabe gemacht hast, wendet Dein Webserver seine
Standard-Konfiguration an. Schau Dir doch mal die Content-Type Header
an, die beide Server senden.
HTH,
-Uli
Re: MySQL verdreht Umlaute?
am 01.07.2005 17:24:08 von Vinni Vega
> Der Browser überträgt die Formulardaten im selben Character-Encoding,
> in dem die Formular-Seite ausgeliefert wird (ausser Du setzt das
> "accept-charset"-Atrribut).
>
> Falls Du dafür weder per header() noch per -Tag selbst eine
> Angabe gemacht hast, wendet Dein Webserver seine
> Standard-Konfiguration an. Schau Dir doch mal die Content-Type Header
> an, die beide Server senden.
Alles klar, Danke!