新しいサーバーのサイトをバックアップします。両者のサーバーでディフォルト言語が異なる(EUC-JPとUTF-8)ため、バックアップサーバーからホームページを読み出してもそのままちゃんと表示するようにするために少々言語設定が必要でした。5.5のインターネットサーバーは順調に稼動しています。5.5のサーバーのサイトをバックアップします。バックアップとはいっても単にファイルを保存しておけばいいというのではなく、いざという時にはルーターのDMZアドレスを振替えるだけでそのまま代替のインターネットサーバーとして動作するようにしておきます。問題があるとすれば、1)ソフトのバージョンによる動作のちがい。2)言語エンコーディングのちがい。1)については、どちらか一方のバージョンでしか動かないような機能は使っていないはずなので、さほど大きな問題はなさそうです。問題は2)の言語エンコーディングの違いと思われます。LinuxからCentOSにファイルを移し、移したファイルをUTF-8に変換してエンコーディング指示もUTF-8に変更した分には問題はありませんでした。(けっこうな手間だったけど。)ただバックアップとなるといちいちこんな変換や変更はやってはいられません。ファイルをコピーするだけでちゃんと動くようにしておかなくてはなりません。事前準備まずは新しいサーバーとバックアップサーバーとで、関連するユーザのユーザ名とユーザ番号、グループ番号をあわせておきます。これはサーバー構築時から意識していたので特に問題ありません。バックアップサーバーからNFSで新サーバーのホームディレクトリが見れるようにします。書き込みはできなくてもかまいません。バックアップスクリプトを準備します。httpデータの移行で使ったスクリプトと似たようなもん。注意:sortの記述はテーブル名の番号の付け方に応じて。####....やってみるまずは新しいサーバーのサイトのデータ(http表示ディレクトリ)をそっくりバックアップサーバーにコピーします。文字化けするだろうなと思いながらブラウザでアクセス。...文字化けどころか何も表示されません。string関係の関数)がエラーを起こしています。EUC-JPで動いているphpモジュールにUTF-8を処理させようとしたためのようです。このエラーを修正、引き続いて文字化けを修正、何とか問題なく動くようになりました。phpモジュールやMySQLサーバーなどのディフォルトの言語設定をみなUTF-8に変えてしまえば簡単かもしれませんが、もともとの別のソフトをそのまま動かすためにはそうはいきません。以下、いろいろやったこと。基本的には入ってくるデータをすべて必要に応じてUTF-8に変換し、内部処理をUTF-8で行い、あとはそのまま出力するというもの。1.phpモジュールの言語設定ディフォルトの言語がEUC-JPのVine4のphpは当然EUC-JPがディフォルトの言語設定になっています。php.iniで以下を指定しています。default_charset=EUC-JPmbstring.internal_encoding=EUC-JPただし他との関連もあるのでこれを変えてしまうわけにもいきません。ページの頭でセッティングファイルをインクルードすることにして、すべてのページの頭に以下を記載。<?phpinclude_once('setting.inc.php');?>セッティングファイルsetting.inc.phpに以下を記載。<?phpmb_internal_encoding('UTF-8');mb_regex_encoding('UTF-8');?>2.MySQLの言語設定バックアップサーバーのMySQLも当然ディフォルトのEUC-JPで動いています。(my.confで設定。)データベースをオープンしてすぐに以下のクエリーで言語を変更。NAMESを使用したが、セキュリティー上多少問題がある方法なのでPHP-5.2.3以降ならmysql_set_charset('utf-8');のほうがいいかと。3.読み込みデータの変換POSTやREQUESTデータがUTF-8になっていません。httpサーバーがUTF-8以外を指定してしまうのか、あるいはどこかで変換されてしまうかよくわかりません。accept-charset="utf-8">でブラウザがデータをutf-8で送信するように、すべての<form>タグにaccept-charset="utf-8"を記載。POSTあるいはREQUESTを受けるページの頭でこれらをUTF-8に変換。ページの頭でセッティングファイルをインクルードするようになっていますので、これに以下を記載。}?>4.ファイルの言語変換ファイルの言語変換はもうやりません。バックアップしたファイルはUTF-8のままにしておきます。バックアップサーバーでファイルを開いて見るときなどはいちいちUTF-8を指定しなくてはなりませんが、めったにないのでいいことにします。(昔のShift-JISのファイルもそのままだし。)以上でバックアップサーバーからホームページを読み出してもちゃんと表示されるようになりました。