Thread Text::Table::Tiny (18 answers)
Opened by geloescht at 2012-09-20 18:20

pq
 2012-09-20 22:38
#161969 #161969
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
kann sein, dass es die berechnung nicht richtig macht, weil du utf8-daten hast, die aber nicht dekodiert sind? das würde es erklären. ein ö wird dann als 2 bytes gezählt, obwohl es nur 1 character ist.
decodiere die daten mittels Encode::decode_utf8 (oder setze das attribut mysql_enable_utf8 beim connect).
dann speicherst du die ausgabe vom modul in einen string und machst encode_utf8 und gibst ihn aus. alternativ machst du binmode STDOUT, ":encoding(utf-8)" vor der ausgabe.

edit:
also:
Code (perl): (dl )
1
2
3
4
5
6
my $dbh = DBI->connect($dsn, $user, $pass, { mysql_enable_utf8 => 1 });
...
   push @$rows, [@row];
...
binmode STDOUT, ":encoding(utf-8)";
print Text::Table::Tiny::table(rows => $rows, header_row => 1);

Last edited: 2012-09-20 22:40:26 +0200 (CEST)
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 Text::Table::Tiny