RE: utf8 and mysql

Meir Guttman <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.dbi.general
Message-ID <!&!AAAAAAAAAAAYAAAAAAAAAKC25OsDcMdGneFIQhy+Pc3CgAAAEAAAAKz8RJCHct5JtqiGHg8jTjYBAAAAAA==@guttman.co.il>
Dear Gabor,
You must include «mysql_enable_utf8 => 1» hash record in the connection attributes used when you create the DBI handle
my %conn_attrs = (RaiseError	=> $RaiseError,
                  PrintError	=> $PrintError,
                  AutoCommit	=> $AutoCommit,
                  mysql_enable_utf8 => 1);
my $dbh = DBI->connect 
         ($dsn, $user_name, $password, \%conn_attrs);

Meir


-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Gabor Szabo
Sent: יום ד 31 יולי 2013 19:09
To: [email protected]
Subject: utf8 and mysql

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


-----
No virus found in this message.
Checked by AVG - www.avg.com
Version: 2013.0.3392 / Virus Database: 3209/6538 - Release Date: 07/31/13
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.