Thread Umlautproblematik (26 answers)
Opened by Andy at 2013-10-18 14:53

topeg
 2013-10-26 12:45
#171556 #171556
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
OK ein "Downgrade" findet nicht mehr satt. Stattdessen kommt es zu einem "Upgrade":
Code: (dl )
perl -MEncode -MDevel::Peek -wE 'my $str1 = decode_utf8("täst"); my $str2=encode("ISO-8859-15",decode_utf8("TÜSTE")); Dump($str1); Dump($str2); my $val = "$str1$str2"; Dump $val;'

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
SV = PV(0x8536840) at 0x8552130
REFCNT = 1
FLAGS = (PADMY,POK,pPOK,UTF8)
PV = 0x85d7d40 "t\303\244st"\0 [UTF8 "t\x{e4}st"]
CUR = 5
LEN = 12
SV = PV(0x85d3498) at 0x85520cc
REFCNT = 1
FLAGS = (PADMY,POK,pPOK)
PV = 0x8556298 "T\334STE"\0
CUR = 5
LEN = 12
SV = PV(0x85d34b0) at 0x85d6a04
REFCNT = 1
FLAGS = (PADMY,POK,pPOK,UTF8)
PV = 0x85a6260 "t\303\244stT\303\234STE"\0 [UTF8 "t\x{e4}stT\x{dc}STE"]
CUR = 11
LEN = 12


Das verhalten ist mir neu. Das ISO-Byte wird zu einer utf8-Node. Wobei das nicht immer funktionieren muss. Ich meine früher wurde nicht konvertiert ( perl < 5.8 ). Gut zu wissen. Wobei ich mich nicht darauf verlassen würde, das das immer funktioniert.
Bei Binärdaten muss ich jetzt also genau anders herum aufpassen, nicht das ein Binärstring plötzlich das utf8-flag bekommt und in der Ausgabe ungewollt konvertiert wird.

View full thread Umlautproblematik