MySQLの文字コード
MySQLとやりとりするクライアント(Perlで書いたアプリ)がどの文字コードでやりとりしているかは、次のソースをでわかるような気がする。
結果:
utf8にしたいので、
結果:
たぶん、こうだと思う。
しっかし、mysqlクライアントと、Perlからとで、
show variables like 'character%';
の結果(情報量)が違うのが気になる。
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%';
の結果(情報量)が違うのが気になる。
スポンサーサイト
leopardにDBD::mysqlをインストール
leopardにMySQLを入れて、Perlのソースを実行してみようと思ったのだが、
DBD::mysqlをインストールする必要があった。
と、タイプ後。
よくわからないメッセージが出た。インストールに失敗しているのはわかった。
出力されたものの最後の方だけ抜粋して載せる(解決方法はその次に載せる)。
解決方法(DBD-mysql-(バージョン).tar.gzを展開して頑張る形をとる):
解決方法のちょっとした説明:
The CPAN Search Site - search.cpan.orgに行って、 mysqlで検索する。
そうすると、 DBD::mysql のページにいけるので、
そこから、DBD-mysql-(バージョン).tar.gz をダウンロードし、展開する。
DBD::mysqlのページには、
で、うまくいくと思うのだが、先の解決策のように、Makefile.PLをごにょごにょしてやらなければならい(←理由は今の私には全くわからない)。
参考資料:
MySQL AB :: Problems when 'make' in DBD::mysql
MySQL AB :: Re: Problems when 'make' in DBD::mysql
Clouder::Blogger: Mac OS X 10.3 Panther Release
はこべにっき# - Plaggerをインストールしてみてわかったこと
DBD::mysqlをインストールする必要があった。
# perl -MCPAN -eshell
cpan> install DBD::mysql
よくわからないメッセージが出た。インストールに失敗しているのはわかった。
出力されたものの最後の方だけ抜粋して載せる(解決方法はその次に載せる)。
Failed Test Stat Wstat Total Fail Failed List of Failed
---------------------------------------------------------------------
t/00base.t 2 512 5 4 80.00% 4-5
t/10connect.t 255 65280 2 4 200.00% 1-2
t/20createdrop.t 255 65280 4 8 200.00% 1-4
t/30insertfetch.t 255 65280 9 18 200.00% 1-9
t/35limit.t 255 65280 111 222 200.00% 1-111
t/35prepare.t 255 65280 49 98 200.00% 1-49
t/40bindparam.t 2 512 ?? ?? % ??
t/40bindparam2.t 2 512 13 26 200.00% 1-13
t/40blobs.t 2 512 11 22 200.00% 1-11
t/40catalog.t 255 65280 ?? ?? % ??
t/40listfields.t 2 512 19 38 200.00% 1-19
t/40nulls.t 2 512 11 22 200.00% 1-11
t/40numrows.t 2 512 25 50 200.00% 1-25
t/41bindparam.t 2 512 11 22 200.00% 1-11
t/41blobs_prepare.t 2 512 24 48 200.00% 1-24
t/42bindparam.t 2 512 11 22 200.00% 1-11
t/50chopblanks.t 2 512 35 70 200.00% 1-35
t/50commit.t 2 512 30 60 200.00% 1-30
t/75supported_sql.t 2 512 16 32 200.00% 1-16
t/80procs.t 2 512 ?? ?? % ??
t/insertid.t 2 512 16 32 200.00% 1-16
t/multi_statement.t 255 65280 7 14 200.00% 1-7
t/param_values.t 2 512 8 16 200.00% 1-8
t/prepare_noerror.t 2 512 ?? ?? % ??
t/texecute.t 2 512 9 18 200.00% 1-9
t/utf8.t 2 512 ?? ?? % ??
2 tests skipped.
Failed 26/28 test scripts, 7.14% okay. 423/426 subtests failed, 0.70% okay.
make: *** [test_dynamic] Error 2
/usr/bin/make test -- NOT OK
Running make install
make test had returned bad status, won't install without force
解決方法(DBD-mysql-(バージョン).tar.gzを展開して頑張る形をとる):
# mkdir /tmp/mysql-staticlib
# cp /usr/local/mysql/lib/*.a /tmp/mysql-staticlib
# cd /Users/bingo_nakanishi/Downloads/DBD-mysql-3.0008
# perl Makefile.PL --libs="-L/tmp/mysql-staticlib -lmysqlclient"
# make
# make test
# make install
解決方法のちょっとした説明:
The CPAN Search Site - search.cpan.orgに行って、 mysqlで検索する。
そうすると、 DBD::mysql のページにいけるので、
そこから、DBD-mysql-(バージョン).tar.gz をダウンロードし、展開する。
DBD::mysqlのページには、
とあるので、gzip -cd DBI-(version).tar.gz | tar xf -
cd DBI-(version)
perl Makefile.PL
make
make test
make install
perl Makefile.PL
make
make test
make install
参考資料:
MySQL AB :: Problems when 'make' in DBD::mysql
MySQL AB :: Re: Problems when 'make' in DBD::mysql
Clouder::Blogger: Mac OS X 10.3 Panther Release
はこべにっき# - Plaggerをインストールしてみてわかったこと
ブログ検索
プロフィール
ビンゴ中西
Perlが好きである。
プログラミング言語のほとんどは独学。独学の過程で多くのプログラム仲間にも色々教わりました。
プログラミング言語のほとんどは独学。独学の過程で多くのプログラム仲間にも色々教わりました。
最近の記事
- Rubyについて (03/23)
- 公開鍵暗号方式 (02/24)
- JavaScriptのすごくつまづきやすいところ (02/22)
- こういうのって邪道かなぁ (02/21)
- じゃんけんの問題がやっとわかった (02/20)
FC2カウンター
最近のコメント
- ビンゴ中西:Rubyについて (03/24)
- ujihisa:Rubyについて (03/23)
- koduki:JavaScriptのすごくつまづきやすいところ (02/27)
- ビンゴ中西:apache2 (02/21)
- のざわ:apache2 (02/20)
- ビンゴ中西:Kansai.pm第10回で発表させていただきました (01/26)
- のざわ:Kansai.pm第10回で発表させていただきました (01/26)
最近のトラックバック
- もぼなもな書房:入門Perl DBI (05/26)
- ???:Υ??? if else if ä? JavaScript (10/10)
- AzureStone Memo:[kansai.pm]Kansai.pm 第10回ミーティング レポート (08/19)
- 404 Blog Not Found:perl - Inside-out Object (03/11)
- deq blog:[プログラミング] 関数と演算子 (12/13)
カテゴリー
- 未分類 (688)
- 説明 (3)
- Linux (17)
- LAN (4)
- MFC VC6.0 (8)
- データベース (29)
- 古の道具 Emacs (14)
- bash (11)
- CGI (7)
- 正規表現 (4)
- レイアウト (4)
- ビンゴ中西のエッセイ (6)
- Apache (5)
- CSS (1)
- FC2 BLOG解析 (13)
- メンズカジュアル (12)
- JavaScript (36)
- ネットワーク (4)
- それ仕様書でできるよ (7)
- 料理 (6)
- 超高速vi (17)
- Java (38)
カレンダー
日 | 月 | 火 | 水 | 木 | 金 | 土 |
---|---|---|---|---|---|---|
- | - | - | - | 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 | - |
月別アーカイブ
- 2009年03月 (1)
- 2009年02月 (12)
- 2009年01月 (9)
- 2008年12月 (4)
- 2008年11月 (14)
- 2008年10月 (38)
- 2008年09月 (12)
- 2008年08月 (4)
- 2008年07月 (26)
- 2008年06月 (16)
- 2008年05月 (5)
- 2008年03月 (1)
- 2008年02月 (2)
- 2008年01月 (2)
- 2007年12月 (5)
- 2007年11月 (18)
- 2007年10月 (22)
- 2007年09月 (39)
- 2007年08月 (20)
- 2007年07月 (98)
- 2007年06月 (64)
- 2007年05月 (68)
- 2007年04月 (11)
- 2007年03月 (72)
- 2007年02月 (51)
- 2007年01月 (59)
- 2006年12月 (58)
- 2006年11月 (29)
- 2006年10月 (26)
- 2006年09月 (16)
- 2006年08月 (14)
- 2006年07月 (17)
- 2006年06月 (13)
- 2006年05月 (21)
- 2006年04月 (16)
- 2006年03月 (22)
- 2006年02月 (29)
| ホーム |
[,]