Thread encoding mal wieder (20 answers)
Opened by Fragensteller at 2012-09-06 15:23

rosti
 2012-09-07 11:07
#161675 #161675
User since
2011-03-19
3180 Artikel
BenutzerIn
[Homepage]
user image
Quote
Jetzt ist es aber so, das ich immer "Wide character in print" beim Print FILE erhalte.


Das kommt, wenn ein UTF-8-kodierter String in ein Handle geschrieben werden soll. Perl unterscheidet seit 5.6 zwischen "kodierten Strings" und "Oktetten". Alles was in ein Handler (auch STDOUT) geschrieben wird, das müssen Oktetten sein. Es gibt mehrere Möglichkeiten, dies zu erreichen:

- nur byte-orientiert operieren (macht heute kaum einer mehr)
- Encode.pm verwenden und aus dem UTF-8-kodierten String Oktetten machen
- dem Handler bzw. Layer mitteilen, dass UTF-8-kodierte Strings zu erwarten sind (haben die Kollegen hier gepostet)
- Mit use bytes; auf ByteSemantic umschalten vor dem print

--Rosti

View full thread encoding mal wieder