Hi ChrisB,
danke der Nachfrage ;)
Die Perlfunktion pack() erzeugt aus irgendeinem Grund nicht die richtigen UTF-8 Bytes aus dem Codepoint, welcher 100%ig richtig ist.
pack "U0U, $codepoint;
Was enthält denn $codepoint genau und welchen Datentyp hat es?
$codepoint hat hier einen numerischen Wert in dezimal.
Wieso verwendest du U0U und nicht einfach U als Template?
Aufgrund einer Empfehlung in der perldoc (Prefix "U0"). Es ist so, dass Template "U" nicht plattformübergreifend mit allen Perlversionen funktioniert, hinsichtlich Unicodeunterstützung hat halt auch Perl seine Geschichte.
Das Verzwickte ist, dass offensichtlich auch Template "U0U" manchmal nicht die richtigen Bytes liefert, beim µ kommen aus mir unbekannten Gründen manchmal die richtigen Bytes, manchmal eben nicht, obwohl der Code derselbe ist, der Codepoint stimmt (siehe NCR) und auch die Darstellung der Oktetten die zwei richtigen Bytes zeigt. Der Fehler ist schwer zu finden und liegt serverseitig nach meinem letzten Test. Ich habe das ersteinmal zurückgestellt und schicke bis zur Lösung des Problems NCRs.
Hotti