データベースとしてMySQLを利用しているのですが、これをphpMyAdminから、sql形式で、XREAでエクスポート、そして、sakuraにインポートすれば、問題無いと考えていました。
ところが、sakuraにインポートして見てみますと文字化けしてしまいました。
XREAで自分のパソコンにエクスポートしたsqlファイルは日本語部分は普通に見ることが出来ています。ということは、sakuraにインポート時の不具合なのでしょうか?
ちなみに、MySQLのバージョンは、どちらのレンタルサーバも4.0系です。
改善する方法をご存知の方がいましたら、ぜひ教えていただけないでしょうか?
MySQLの設定などが分からないと何ともいえないのですが、エクスポートしたファイルの文字コードとMySQLの文字コードが不一致なのだと思います。
Sakuraを利用しているわけではないので、初期設定でどの文字コードの設定なのか分かりませんが、SQLファイルを、UTF-8、EUC、Shift JISなどに変換後、再度インポートしてみてはどうでしょうか?
http://hiromasa.zone.ne.jp/blog/archives/534/
http://tenderfeel.blog104.fc2.com/
上のふたつと、期せずして私も同じようなことを試しました。
結果はオーライ。
SQL実行、画面からコピー貼り付け、文字コード指定してファイルに保存の手順です。
エクスポートの時点でファイル書き出しを指定するときも、文字コード指定(EUC,Shift-JIS)がありますが、その場合でも、保存後に開いてエディタ上でコードを確認した方がいいみたいです。文字コード指定して保存しなおせば確実です。
このようにして、文字コードを合わせたファイルでインポートしてみてください。
ありがとうございます。
やっぱり文字コードの問題なんでしょうか?回答を参考にして、もう一度試してみます。
2つのサーバでphpMyAdminから下のsqlを出せば、両者の文字エンコーディングの設定がわかります。
SHOW VARIABLES LIKE 'char%';
charcter_set_serverがいまお持ちのバックアップの文字コードと違っている場合は、charcter_set_serverをmy.iniをいじって変更するか、エンコーディング変換してその文字コードで格納する。
バックアップsqlが仮にSJISだとすると先頭に
SET NAMES sjis ;
と文字コードを宣言すれば、MySQLの方で自動的に変換してくれるかも。
ありがとうございます。
一連のことはまだ試していないのですが、時間が出来る週末に試してみます。
もし他にも、こうなんじゃないか?などといったご意見がございましたら、どうぞよろしくお願い致します。
phpMyAdminでインポートを行うとPHPの設定の影響を受ける可能性もあるかもしれません.
さくらからだとsshなどでログインできると思うので,下記の手順で作業を行うほうが確実です.
mysql -u 「さくらからもらっているMySQLアカウント名」 -p 「使用するデータベースの名前」 < 「あなたがアップロードしたSQLファイルのファイル名」
データベースをあらかじめ作っていない場合は下記コマンドで作成を行います.
mysql -u 「さくらからもらっているMySQLアカウント名」 -p create 「使用するデータベースの名前」
ちなみにMySQL 4.0は文字エンコードの自動変換の機能は持っていないので,テーブル作成やレコードの追加をするだけでいうとあまり意識する必要はないと思います
ありがとうございます。
今までphpMyAdminしか使用経験がないため、「SQLをサーバーにscpやftpなりでアップロードする」という文章の、その具体的な方法すら分からない状態ですが、頑張ってみます。
UTF-8、EUC、Shift JIS、それぞれでインポート・エクスポートを試してみましたが、やはり文字化けしてしまいます。
もう一度やってみますが、他に原因は考えられないでしょうか?