Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit Euro Zeichen



Vagabundo
27-09-2009, 16:37
Hallo,

mein php-Script bekommt eingegebenen Text von einer Seite mit einerm Textarea-Feld.
Die Seite hat den charset=iso-8859-1

Wird die Eingabe abgesandt, dann erfolgt im php-script folgendes:

$FaxText2 = utf8_decode($FaxText2);

Danach sind die Umlaute und andere Sonderzeichen, die eingegeben wurden, korrekt in der Variable $FaxText2 enthalten.

Leider aber das Euro-Zeichen nicht. Es erscheint als Fragezeichen (also als unbekanntes Zeichen)

Nun gibt es zwei Moeglichkeiten. Entweder ich bekomme das Euro Zeichen auch irgendwie korrekt dargestellt oder ich wandele die Euro-Zeichenfolge einfach in den Text "Euro" um.

Bei der ersten Moeglichkeit habe ich keine Ahnung, wie ich das machen kann, da im Fax-Programm utf8 nicht unterstuetzt wird.

Also habe ich versucht, das EuroZeichen durch den Text zu ersetzen:
Das sind die Zeichen, die bei einem Euro Zeichen im Text erscheinen:

â^¬

Ich habe daher folgendes probiert:

$FaxText2 = preg_replace("[â^¬]",'Euro',$FaxText2);

Aber leider ohne irgendein Resultat. Was mache ich denn da falsch?

Wer hat Ideen, wie ich das EuroZeichen oder/und den Text richtig hinbekommen kann?

Vagabundo

zenobic
28-09-2009, 18:49
Das ISO-8859-1 (latin1) Charset enthält kein Euro Zeichen.
Versuche es mit iconv anstelle utf8_decode.


$FaxText2 = iconv("UTF-8", "CP1252", $FaxText2)

Vagabundo
30-09-2009, 23:55
Super funktioniert jetzt zufriedenstellend! Danke!

Er macht mir zwar kein Euro Zeichen (es geht nicht zu einem Windows-Zeichensatz, sondern zu ISO-8859-1).
Aber mit //TRANSLIT schreibt er mir dann EUR hin und das ist auch ok.

Trotzdem verstehe ich nicht, weshalb das

$FaxText2 = preg_replace("[â^¬]",'Euro',$FaxText2);

nicht funktioniert hat. Vielleicht kann mir da noch jemand einen Tip geben. Man lernt ja nie aus!

Vagabundo

undefined
01-10-2009, 15:40
Dann verwende ISO-8859-15, dort ist das € Zeichen enthalten.