|バス編|高速バス編|鉄道編|フェリー編|交通アクセス編|十和田湖編|
|ホームページ制作|
« 2014年11月 | メイン | 2015年6月 »
2014年12月20日
ロリポップサーバでMySQL4から5への切り替え必要になりまして
以前から使っているロリポップ(lolipop)サーバでMySQL4から5への切り替えが必要になりました。
・MySQL4提供終了のご案内 - ロリポップ!レンタルサーバー
MySQL4の提供は2014年12月31日までを持って終了との事で、改めて使っているサーバを確認してみました。
だいぶ放置気味なサイト用な事もあり、PerlによるCGIでDBを使用している事がわかりました。
(どうやら提供終了が1ヶ月間ほど延長されたようです)
MySQL5への切り替え自体は、ロリポップの管理画面内で書いてあるとおりで簡単に出来て、一旦テスト用にMySQL5のデータベースをコピー作成して、特に問題無くDBテーブルもコピーされている事を確認できました。
しかし、肝心のCGIを動作確認した所、文字化けしているのです...
調べてみると、該当のCGIは文字コードが「EUC」で作っているため、最近のDBサーバではデフォルトの文字コードが「UTF-8」となっている事が多く、その関係かなと考えて、文字コードを予め指定する手順を探してみました。
共有のレンタルサーバだとそのあたりの設定は変更できませんし。
最近はPHPばかり使っているため、Perlでどう対応すべきかがよくわからないので(汗)
・MySQL4.1とPerlの間で起こる文字化け対策 - うろぐ
この上記リンクを参考にして、
$sth = $db->do("set NAMES ujis");
と追記してみたところ、文字化けが解消出来ました!
(リンク先ではMySQLのバージョンも異なり、エラーが出た方法ですけど)
よりベストな解決方法があるのかもしれませんが、あまりここに手間をかけない方向なため、これで解決としています。
たぶん、同様に困っている需要は少なそうですが、情報共有を兼ねて本記事を書いてみた次第です。
参考になれば幸いです。