mysql:12832
From: sakamoto <sakamoto <sakamoto@xxxxxxxxxx>>
Date: Thu, 02 Mar 2006 10:35:11 +0900
Subject: [mysql 12832] ダンプファイルの文字化け
初めまして。いつも参考にさせていただいています。
坂本と申します。
mysqldumpを使ってダンプファイルを作成したときに文字化けしてしまう問題が
発生しました。
ブラウザからmysqlにデ-タを入力するPHPページを作りました。(ブラウザでの文
字コードはEUC)
さらにその入力したデータをデータベースから取得してブラウザに出力するPHP
ページを作成しました。(ブラウザでの文字コードはEUC)
この時ブラウザ上では出力されたデータは文字化けしていませんでした。
データベースのバックアップをとるためにmysqldumpコマンドを使いダンプファ
イルを作成しました。
mysqldump -u root -p test_database > test_database.dump
その後そのダンプファイルを使いデータベースを復元するとブラウザ上からデー
タを取得していた時に文字化けしていました。
ここでダンプファイルん中身を確認してみるとターミナルの文字コードをEUC-
JP,UTF8,S-JISとかえてみても文字化けしていました。
なおcreate database, creaet tableでDEFAULT CHARSETを確認したところいずれ
もlatin1となっていました。
ダンプファイルの文字化けしている入力したデータ「 testしけん試験シケン 」
というデータの部分にodコマンドを実行すると以下のような結果となりました。
0000000 t e s t ~ O " p ? ~ O " p ! ^ ~
6574 7473 4f7e f0a2 7e3f a24f a1f0 7ede
0000020 O " p ~ O + Q ? ~ O + B ~ O " 1
a24f 7ef0 ab4f 3fd1 4f7e c2ab 4f7e b1a2
0000040 ? \ ~ N \ \ ? \ ~ N \ \ ! ^ \ ~
5c3f 4e7e 5c5c 5c3f 4e7e 5c5c dea1 7e5c
0000060 N \ \ ~ O + Q nl
5c4e 7e5c ab4f 0ad1
0000070
ダンプファイルの文字の文字コードは何なのか?
ダンプファイルの文字化けを直すためにはどうすればいいのか?
この2点、わかる方ご教授お願いいたします。
環境
create database:DEFAULT CHARSET=latin1
creaet tale:DEFAULT CHARSET=latin1
OS:CentOS
mysql 4.1.12
mysql> show variables like 'character\_set\_%';
Variable_name | Value
character_set_client | ujis
character_set_connection | ujis
character_set_database | ujis
character_set_results | ujis
character_set_server | ujis
character_set_system | utf8
よろしくお願いします。