PHPのバージョンアップで文字化け
niftyのLaCoocanのサーバーに、8年以上昔のPHP5.2の時代に作ったサイトを置いています。その後、メンテナンスも要らずにそこそこに運用できていたため、もうPHPの文法も忘れてしまっています。
その状況下で、来月から、PHP5.2をPHP7.1に強制的に切り替えるとの通達を受けました。今月までなら、PHP5.2, PHP5.6, PHP7.1 が自由に使用できるそうです。
そこで事前確認のため、PHP5.6やPHP7.1に切り替えて閲覧してみたところ、WarningやNoticeが山のように表示され途方に暮れてしまいました。しかし、Qiitaの各種投稿を参考にさせていただき、何とか警告は出ないところにまでは漕ぎ付けたものの、MySQLから読み出した日本語のデータを表示させる部分で文字化けするようになってしまい、苦戦しています。
例えば、PHP5.2では、
「PHP ver.5 → ver.5.6 への移行テストです。」
と表示されていたものが
「PHP ver.5 → ver.5.6 ã¸ã®ç§»è¡Œãƒ†ã‚¹ãƒˆã§ã™ã€‚」
のようになってしまいます。
心当たりといえば、MySQL関係のPHPコマンド(mysql_connect, mysql_select_db, mysql_query, mysql_close, mysql_fetch_array, MYSQL_ASSOC)のmysql_, MYSQL_ 部分を mysqli_, MYSQLI_ に変更したことです。
これらのコマンドの変更にあたって、何らかの必要な配慮が抜けているのか?とも思っています。
解決のための御助言を頂ければ幸です。
追伸:
PHP5.2の時代にも、ブラウザ上では正常に表示されていたデータも、phpMyAdminで見ると文字化けしたものしか表示されていませんでした。