print gibt mal iso, mal utf-8 aus.
Christian
- perl
Hallo,
mit den Zeichensätzen werde ich noch verrückt.
In welcher Kodierung gibt print einen String aus?
Ich habe ein CGI-Skript, dessen Quelltext ISO-8859-1 kodiert ist. Das Skript liest Daten von einer Webseite, die UTF-8 kodiert ist und gibt diese Daten wieder aus.
Nun habe ich einen print-Befehl:
print "hinzugefügt: $daten\n";
Die $daten kommen von der UTF-8-kodierten Seite. Nun gibt print meistens ISO-Kodierung aus, aber manchmal kommt auch UTF-8 heraus. Im Browser gibt das natürlich hässliches Zeug.
Von UTF-8 nach ISO konvertieren möchte ich nicht, es könnte ja was verloren gehen.
Was kann ich also nun tun, damit mein ISO-Quelltext im Browser in UTF-8 ankommt? Alle meine Zeichenketten explizit nach UTF-8 konvertieren will ich auch nicht.
Grüße
Christian
Ich grüsse den Cosmos,
In welcher Kodierung gibt print einen String aus?
Also wenn ich das richtig im Kopf hab:
Auf der Konsole den Zeichensatz, deri m Syrtem eignestellt ist
Im Browser den Zeichensatz, der im Browser eingestellt ist oder alternastiv der, der im Header gesendet wurde.
Möge das "Self" mit euch sein
Hallo
Im Browser den Zeichensatz, der im Browser eingestellt ist oder alternastiv der, der im Header gesendet wurde.
Umgekehrt ist es richtig. Die Einstellung im Header hat vorrang und nur wenn die fehlt, dann dröselt sich der Browser das aus der Datei raus.
Herzliche Grüße
Wolfgang Uhr
Hallo,
anscheinend hat nur ein
binmode(STDOUT, ':utf8');
am Anfang gefehlt.
Ich grüsse den Cosmos,
Umgekehrt ist es richtig. Die Einstellung im Header hat vorrang und nur wenn die fehlt, dann dröselt sich der Browser das aus der Datei raus.
Hast du natürlich recht, ich hab mich missverständlich ausgedrückt. Ich wollte sagen, der im Browser eingestellte Zeichensatz, falls keiner im Header gesendet wurde, ansonsten der, der im Header gesendet wird ;)
Möge das "Self" mit euch sein