けんとのブログ

ぼやき&開発メモ

MySQLの文字コードutf8の扱いについて

2009年01月29日 13時36分55秒 | MySQL
MySQLの文字コード設定全てutf8の状態では、
windowsでMySQLコマンドラインから日本語データの格納はできない。→エラーが出る。

ただし、CSEから、CSEの文字コード設定をcp932にしておくと格納できる。→CSEで日本語データとして表示もできる。
この格納したデータをMySQLコマンドラインで表示すると文字化けした状態で表示される。

MySQLコマンドラインから格納、MySQLコマンドラインで表示するには、
クライアントの文字コードと、結果の文字コードをsjisに設定する。

SET character_set_client = sjis;
SET character_set_results = sjis;

これで、OK。
sjisで渡された日本語を内部的にはutf8で格納し、表示させる際にはsjisとして表示するので、
格納も、表示も日本語が正常に扱えるようになる。

※前述の「MySQLインストール」でも文字コードについて語っています。

1 コメント

コメント日が  古い順  |   新しい順
できました! (inco)
2010-12-06 17:28:13
utf-8でコマンドのなかで日本語が表示されなかったのでこの記事で解決できました。
どこかで同じような質問があってsjis;で解決したとありましたが、なぜなんだかわからないとあって試してみませんでしたが
コチラの記事で疑問も解決しました。

ありがとうございました
返信する