田舎システムエンジニアの日常

アクセスカウンタ

help RSS MySQL 4.1.20 文字化け 対策方法 ( 解決 )

<<   作成日時 : 2008/02/05 10:23   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

■MySQL 4.1.20 文字化け 対策方法 ( 解決 )

なかなかブログ更新できなかったけど、やっと更新w

今回は、データベース(mysql)のバックアップをやってみた。
が、なぜか文字化け発生!!!
mysqldumpを使ってバックアップ、それを普通にインポートしたんだけど、、。
なぜだ!?

色々と調べてたら、mysqlのバージョン4.0以上では
結構文字化けをしてる人がいるみたいだね。

文字化けが解決したので、以下に対策方法を記載します。

無料ではじめるサイト運営
無料で始まる副収入








1.mysql設定ファイルの確認

基本的には、my.cnf(mysql設定ファイル)に
default-character-setを追加したらいいみたい。

今回のデータベースは、sjisで設定されてて、
以下のように[mysqld]でsjisと設定されていた。

[mysqld]
default-character-set=sjis

ん??[mysql]、[mysqldump]の項目はないや。。
もし、my.cnfファイルに

[mysql]
default-character-set=sjis
[mysqldump]
default-character-set=sjis

という記載がない場合は追加設定したら
今回の問題は解決できるぽい。

だけど、my.cnfファイル変更した場合、
その設定内容を適用させるにはmysqldの再起動が必要なので
他の方法を探した。


2.現在のmysql文字設定を確認

じゃー、mysqlサーバ側はどんな文字コードとして
参照してるのか調べる必要があるじゃん!ってことで、
コンソールからmysqlにログインして、以下のコマンドを実行する。

# mysql> SHOW VARIABLES LIKE 'character_set%';

+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | sjis |
| character_set_connection | sjis |
| character_set_database | sjis |
| character_set_filesystem | sjis |
| character_set_results | sjis |
| character_set_server | sjis |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

SQLコマンドを実行すると↑のように表示された。
ほほう、すべてsjisになってるな。
ん???「character_set_system」がutf8だーーーーーー。
なぜなぜ?
なんと、「character_set_system」がutf8になっていたことが
原因だったみたい!?





3.MySQL 4.1.20 文字化け 対策方法

文字化けの対策として強制的に文字コードを設定しつつ、
エクスポートおよびインポートを行えば解決できることがわかった。

エクスポート(バックアップ):
#> mysqldump --default-character-set=sjis -u ユーザ名 -p データベース名 > test.sql

インポート(リストア):
#> mysql --default-character-set=sjis -u ユーザ名 -p データベース名 < test.sql

上記のコマンドでバックアップおよびリストアがうまくいった!
文字化けも無くなった。

あーーー結構悩んだのに、、、
もっと早く気付けばよかったなぁ。。

テーマ

注目テーマ 一覧

月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
MySQL 4.1.20 文字化け 対策方法 ( 解決 ) 田舎システムエンジニアの日常/BIGLOBEウェブリブログ
[ ]