&tag(P_BLOG); #contents *背景 [#led86f01] レンタルサーバーを[[''XREA+''>http://www.xrea.com/?action=adfree]]から[[''CORESERVER''>http://www.coreserver.jp/]]に移行する場合、MySQLのバックアップ(ダンプデータ)をそのまま移行すると文字化けするため、その解決方法をまとめておきます。 *文字化けの要因 [#q70fed70] MySQLのバージョン違いによる、デフォルトの文字セットの違い。 |>|サーバー|XREA+|CORESERVER|h |>|MySQLバージョン|4.0.26 |5.1.22-rc| |文字コード|サーバー|ujis|ujis,utf8,sjisから選択| |~|クライアント|ujis|latin1| MySQL 4.1以降ではクライアント側の文字コードが(通常)''latin1''であるため、データベース側の文字コードとの違いにより、日本語での文字化けが起こります。 MySQLをソースからインストールし直すことで解決できますが、レンタルサーバーでは不可能なため、他の解決方法をとる必要があります。 *文字化け解決方法 [#va947904] **P_BLOGプログラムの修正 [#b29f8fb5] P_BLOG実行時に、クライアントとサーバー双方の文字コードをUTF-8に設定するように、プログラムを修正します。具体的には、 mysql_connect 関数でデータベースに接続した直後に、次の一行を追加しします。 mysql_set_charset("utf8"); mysql_connect 関数を使っている以下の4ヵ所に追加します。(他のサーバーからの移行であれば fnc_base.inc.php だけでもOK) -include/fnc_base.inc.php 63 行目 -SETUP/contents/default.inc.php 235 行目 -SETUP/contents/step3.inc.php 29行目 -var/vars-sample-rss/SETUP/DB_INSTALL.php 65 行目 **P_BLOG環境設定 [#l6285b27] ブラウザからP_BLOGのサイト管理にログインし、「環境設定」のページで以下のように設定して保存します。 |出力文字コード|UTF-8| |ユニコード変換|Off| |MySQL内部エンコード|UTF-8| **MySQLデータベースの作成 [#ne09bb9e] CORESERVERの管理画面にログインし、「データベース」のページで、MySQLのデータベースを作成します。このとき文字コードは''UNICODE''を選択しておきます。 **SQLデータのインポート [#hcf3a0ec] phpMyAdminにログインし、旧サーバーのDBからエクスポートしたデータを、新しいDBにインポートします。インポートするファイルの文字セットは ujis を指定します。(旧DBの文字コードがEUC-JPの場合) 最後に以下の内容を確認します。 -各テーブルの照合順序が ''utf8_general_ci'' になっているか。 -各テーブルの内容を「表示」させて、文字化けしていないか。 以上問題が無ければ、P_BLOGでも文字化け無く表示できるはずです。 *その他の文字化け解決方法 [#ce095f47] -[[Reread : P_BLOG ver1.2 がどうしても文字化けする時の解決方法>http://text.readalittle.net/article.php?id=274]] -[[FXテクニカル分析&業者比較Blog : サーバー移転完了 XREA+からCORESERVER(コアサーバー)へ Movable Type4.21引っ越し完全マニュアル データベースMySQL 4から5へ移行する方法>http://www.fxtechnical.net/2008/10/_xreacoreserver_movablety.html]]
AND OR