サイトの文字化けを修復する
ホームページも最近はCMSが主流になり、データベース(mysqlなど)なるものがホームページの情報を保存しています。
で、表示方法、抽出方法、格納方法が間違っていると文字化けしてしまいます。
最近多いのは、【?????????】をよく見かけます。
パソコンのテキストエディタなどもそうですが、文字コードというものがあります。
そして、その文字コード設定がwebシステムとなると、
・プログラミング言語設定(PHPなど)
・DB(mysqlなど)設定
・表示ページの設定
などがすべて同じ文字コードを使用する必要があり、やっかいなのが、多少違っていてもなんとかちゃんと表示されることが多いのです。
すると、何年かホームページを運用し、システム変更、サーバー変更等がきっかけで文字化けしてしまいます。
上記3点全て、チェックしてもダメなときがあります。
さて、今回の修復ですが、サイトの更新システムを改修した時に、プログラムは間違いのだが、新たに入れたデータが文字化けしたとのこと、
ここからサイトの文字化け修復作業
作業1
サーバーに設置されている、phpMyAdminにてデータベースの中身を見てみると、アラビア文字になっていました。
まずはデータベースの中身をアラビア文字ではなく、本体の文字(日本語)にしてあげなくては行けません。
ということで、データベース管理ソフト(今回はNavicat)にてデータベースの中身が日本語で表示されるように文字コードの設定をいろいろ変えて接続してみます。
今回は、Latainでした。
そのデータを、Sqlファイルにエクスポートして、phpMyAdminにて新たに書き出したファイルをインポートします。
今回は、ウェブサイトはクローズ状態でしたので、一旦全てのデータベースを削除してsqlファイルをインポートしました。
すると、サイト自体文字化けしてしまいます。
作業2
そこで、サーバー側のPHP設定を確認します。
にて確認すると、default-character-set=ujis
だったので、php.iniをつくり、default-character-set=utf8
にします。
今回はこれで完了しました。
めでたし。