Thread [MySQL, Tk] Und nochmal: utf-8-kodierte Daten in Datenbank -> Tk::Text -> Datenbank
(13 answers)
Opened by pktm at 2012-02-23 15:41
Entscheidend ist das hier:
Code (perl): (dl
)
open my $fh, "<:encoding(utf8)", $file or die "$file: $!"; Wenn utf8-oktetten in der Datei sind, kriegst Du beim Lesen aus $fh utf8-kodierte Zeichenketten. Der Layer ':encoding(utf8)' vermittelt das. Wenn solche tagged Strings (SvUTF8) über DBI nach MySQL gehen, funktioniert das zeichenorientiert entweder mit Code (perl): (dl
)
$DBH->do("SET NAMES UTF8"); oder "SET CHARACTER SET utf8" oder {mysql_enable_utf8 => 1} Ansonsten werden die nackten Oktetten in die Tabelle geschrieben und kommen auch so zurück. Sofern einer der o.g. 3 Varianten angewandt wird, kannst Du jedoch auch anstelle eines SvUTF8 (Scalar-Value UTF8) die Oktetten über DBI schicken, weil für die Verbindung mithin utf-8-kodierung ausgehandelt wurde. set names u.a. http://dev.mysql.com/doc/refman/5.1/de/charset-con... Last edited: 2012-02-23 21:02:51 +0100 (CET) |