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

pq
 2013-10-26 12:10
#171554 #171554
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
2013-10-26T09:59:06 topeg
Ja Grundsätzlich hat die Kodierung des Scriptes keinen Einfluss auf Datensätze die gelesen/geschrieben werden. Aber schon ein $val="$string" kann perl gewaltig durcheinander bringen. Angenommen $string hat das utf8-Flag. Ohne use utf8 hat $val keines.

das stimmt so nicht. wenn perl zwei strings konkatenieren muss, wird berücksichtigt, in welcher kodierung sie vorliegen.
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
$ perl -wE'
use Encode;
use Devel::Peek;
my $string = decode_utf8("täst");
my $val = "$string";
Dump $val;'
SV = PV(0x186ad58) at 0x1889bc8
REFCNT = 1
FLAGS = (PADMY,POK,pPOK,UTF8)
PV = 0x1956d50 "t\303\244st"\0 [UTF8 "t\x{e4}st"]
CUR = 5
LEN = 8

wie man sieht, hat $val nun auch das utf8-flag.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread Umlautproblematik