Thread JSON und utf8 (25 answers)
Opened by rosti at 2018-05-06 18:58

haj
 2018-05-07 14:52
#188351 #188351
User since
2015-01-07
557 Artikel
BenutzerIn

user image
Ob es einem nun gefällt oder nicht: Strings in Perl sind keine "Rohdaten". Die Vorgehensweise, ein 'ü' in einer UTF-8-codierten Quelldatei ohne use utf8 zu schreiben und mit print im Default-Encoding wieder auszugeben, funktioniert deswegen, weil Perl per Default byte-orientiert liest und byte-orientiert schreibt (beinuhe: ein "\n" wird auf Windows in zwei Bytes expandiert). Die Ausgabe hat dabei das gleiche Encoding wie der Quelltext, und solange nicht aus anderen Quellen richtig verarbeitete UTF-8-Strings kommen, geht es gut.

Es gibt übrigens eine Kurzschreibweise für das, was Du brauchst:

Code: (dl )
print to_json($r),"\n"; # Aequivalent zu print JSON->new->utf8(0)->encode($r),"\n";

View full thread JSON und utf8