jQuery mobile verbietet str_replace?

meisti94

Erfahrenes Mitglied
Grüzi.

Ich habe bei meiner "normalen" Page und bei meiner "mobile" Page genau den selben Code.

Bei der normalen Version werden ä,ö,ü ausgetauscht, also durch ü etc.

Bei der mobilen Page habe ich den selben Code, doch da funktioniert es nicht. Ich bekomme die schönen ? ..

Hier der Code:

PHP:
$code = str_replace ("ä", "ä", $code);
$code = str_replace ("Ä", "¨", $code);
$code = str_replace ("ö", "ö", $code);
$code = str_replace ("Ö", "Ö", $code);
$code = str_replace ("ü", "ü", $code);
$code = str_replace ("Ü", "Ü", $code);
$code = str_replace ("Ü", "Ü", $code);

Die Ausgabe ist auch bei beiden die selbe:

PHP:
<span style='color:#FDFDFD; font-size:16px; text-shadow: 1px 0px 0px #000;'>$code</span>


Liegt das an jQuery Mobile?
 
Hallo,

nein es liegt am Zeichensatz der Webseite(n). Auf der normalen Seite wird das sicher ISO-8859-1 sein - auf der mobilen Seite auch. Javascript bzw. das von jQuery Mobile verwendete Ajax arbeiten intern aber mit UTF-8 bzw. liefert der Server die Daten mit dem Standardzeichensatz UTF-8 aus.

Bei der mobilen Seite solltest du daher einen entsprechenden Header setzen, der die Ausgabe in ISO-8859-1 "umbiegt" - dann wird das auch wieder korrekt ausgegeben.

PHP:
header('Content-Type: text/html;charset=ISO-8859-1');

Ebenfalls helfen könnte ein
PHP:
$code = utf8_decode($code);
bevor die Ersetzungen stattfinden.

Grüße
 
Zurück