〜が?に文字化け

以前も同様に記事にした「〜」が「?」に文字化けする件です。blog投稿時には〜、改めて閲覧すると?に文字化け、という現象です。
関係するBLOGはすでに直していたと思ったら、未改修のところがありました。久しぶりにやろうとすると、忘れていることが甚だ多く、データベースMySQL相手だけに失敗できないプレッシャーともども、ネット上で色々追加情報を得ながらテストを繰り返しているところです。基本は、前回と同じで多くの変更はないものと思いました。以下、今回気になったことなどを備忘録として書き出します。
状況

  • さくらインターネット、スタンダード
  • MySQLサーバのバージョン: 5.1.51-log UTF-8
  • Web サーバ Apache MySQL クライアントのバージョン: 5.1.30
  • MySQL接続の照合順序 utf8_general_ci
  • WordPress2.9.2を使用
  • config.sysの文字設定は UTF-8(WP2.1当時からEUC-JPでつかっていたデータを移植。そのSQL文のなかに、EUC−JPを示すujisの記述が照合順序の選択文字コードとして記録されている)
  • 自宅サーバ(xamppLite)に今回は移植予定で作業中いくつかのトラブル発生。そのうち、本番作業として、本来ある場所のデータベースをutf8だけで動くようし、文字化けをなくしたい。
  • いずれもMySQLphpMyAdminで操作

今回気になったこと

  • さくらのMySQLからのエクスポートは問題なくできるが、自宅(xampp)側へのインポートでsyntaxエラーが表示され、中断する。
  • xampp側へインポート成功後、wpのフロント画面が表示されるが、シングルページ、カテゴリ表示などが無効

今回試してみたこと

  • エクスポートするテーブルのうち、どのテーブルがxampp側にインポートするときエラーとなるか確かめた。その結果、optionsだった。
  • 前記結果に基づき、optionsとそれ以外の2回に分けてエクスポートした。optionsだけxampp側でエラーになるところを削除しながら、試行錯誤したが結局失敗。
  • ネット上で「クエリの最大長」を小さめに設定する方法を発見。エクスポート時にデフォルトの50000を色々小さくし、xampp側でインポートを試したら成功。

情報源:MySQLにSQLファイルをインポートしようとして途中でエラー(phpMyAdmin使用)

  • 自宅サーバで、wpのシングルページ、カテゴリページが表示されないのは、さくら上にあるwp設定のうち、パーマリンク設定をデフォルトでなく、他の選択で表示していたことが原因のようでした。自宅サーバで、管理画面上でデフォルトに設定し直して閲覧したらOK。その後、希望するパーマリンクに再度変更という手順でした。
  • なお、サバ移動に伴い、エクスポートしたsql内容のうち、データベースのテーブル名、サイトのURLやデイレクトリに関係する部分は、xampp側にあわせて書き直してある必要がありますので、注意が必要です。
  • 文字コードの問題を解決するため、エクスポートしたsql文のファイルのうちujisをutf8にテキストエディタの「置換」を使って変更。この際、保存はUTF-8Nとなるよう注意。

考えついた横着

  • 自宅サーバへ移植ができ、文字コード部分を書き直した結果もエラーがないのなら、元のサーバにも戻せるが、削除し同じ位置へ、というのは、閲覧の中断が起きて面白くない。エラー発生時、閲覧ができなくなる。
  • ということで、書き直したsqlファイルのうち、テーブル名を変更し元のサーバへインポート。この時点では閲覧等に何ら関係ない、単にMySQLのテーブルができただけになる。
  • 次に、WPのconfig.phpFTPソフトを使いDLしたのち、データベース設定個所のテーブル名を、前項で書き直した値に変更し、保存(UTF-8N)、FTPでUP。これで、WPとデータベースの接続関係が変更され、utf8のデータをつかってblogを閲覧できる。以前のeuc-jpのテーブルは、不要になったら削除可能で、以上完了…ということに自宅サーバで試した限りではなりました。

どなたか詳しい方、確実に、簡単にできる方法ありましたら教えてくださーい。