FC2ブログ
MySQLの文字コード
MySQLとやりとりするクライアント(Perlで書いたアプリ)がどの文字コードでやりとりしているかは、次のソースをでわかるような気がする。
use strict;
use DBI;

# デフォルトのrootにパスワードが設定されてない状況
my $dbh = DBI->connect('DBI:mysql:test:localhost', 'root');
my $sth = $dbh->prepare( q{ show variables like 'character%' } );

$sth->execute;

my @recodes = $sth->fetchrow_array;

for my $recode ( @recodes ) {
print "$recode", "\n";
}

結果:
character_set_client
latin1


utf8にしたいので、
use strict;
use DBI;

my $dbh = DBI->connect('DBI:mysql:test:localhost', 'root');

my $sth = $dbh->prepare( 'set names utf8' );
$sth->execute;

$sth = $dbh->prepare( q{ show variables like 'character%' } );
$sth->execute;

my @recodes = $sth->fetchrow_array;

for my $recode ( @recodes ) {
print "$recode", "\n";
}

結果:
character_set_client
utf8
たぶん、こうだと思う。


しっかし、mysqlクライアントと、Perlからとで、
show variables like 'character%';
の結果(情報量)が違うのが気になる。
スポンサーサイト



コメントを投稿する
Name:
URL:
Comment:

秘密:管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL
この記事にトラックバックする(FC2ブログユーザー)
ブログ検索

プロフィール

ビンゴ中西
Perlが好きである。
プログラミング言語のほとんどは独学。独学の過程で多くのプログラム仲間にも色々教わりました。

FC2カウンター

カレンダー

04 | 2021/05 | 06
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -

ブロとも申請フォーム

この人とブロともになる

| ホーム |