2009/4/10 Alex Muntada <al...@alexm.org>: > I installed mysql-server on sid without changing a single > file, so the latin1 values seem the default to me.
Yes, it is. I wanted to make everything fully utf8 compliant, so i changed those variables too. > I finally found the problem: DBD::mysql does not work on > UTF8 by default, please search for «mysql_enable_utf8» > in perldoc. It doesn't matter that the input strings and the > database are both in UTF8. You have to explicitly enable > UTF8 like this: > > my $dbh = DBI->connect( > $data_source, > $user, > $password, > { mysql_enable_utf8 => 1 }, > ) || die "no connection\n"; > > Alternatively, you can also use this: > > $dbh->do("SET NAMES utf8"); I think you are right, but i'm just confused now. I used the first one, but i tried like this: my $dbh = DBI->connect($data_source, $user, $password) || die "no connection\n"; $dbh->{mysql_enable_utf8} = 1; It reports back the same way it does in your connection, i tested it like that: warn ($dbh->{mysql_enable_utf8} ? "utf8 set up" : "utf8 not set up"); Only difference i noticed that your way has influence on data too. Thank you! I think there is no bug in this package and it was my fault. One thing i can suggest: maybe this option (mysql_enable_utf8) could be enabled automatically when database is in UTF8. -- With best regards, Kõike hääd, WK -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org