Hi, I am quite lost at this utf8 issue: I have a file that I opened with
open(my $KEYWORDS, "<:encoding(UTF-8)", $keywords_file) as I read the rows I can print them to a log file (that was opened using open(my $fh, '>>:encoding(UTF-8)', $log_name) and it looks ok. I insert it into the 'text' field of a table that was created like this: CREATE TABLE terms ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, text VARCHAR(255) NOT NULL, language_id INT NOT NULL, UNIQUE(text, language_id) ) ENGINE=MyISAM CHARSET=utf8; Then I read it back using SELECT and when I try to print it to the log file I get garbage there. Calling decode('UTF-8', $t->{text})) fixes the problem, but wonder if I should not get the data back correctly? I tried connecting to mysql with two different connections strings: "DBI:mysql:database=$attr->{database};host=$attr->{host};mysql_enable_utf8=1", "DBI:mysql:database=$attr->{database};host=$attr->{host}", and I tried to call $dbh->do('SET NAMES utf8'); immediately after the connection was established, but neither helped. Using perl 5.18 on OSX with DBI 1.627 DBD::mysql 4.023 MySQL itself is 5.6.10 Oh and if I connect to the database using the mysql client, it shows the text correctly. your suggestions would be really appreciated regards Gabor