※ ChatGPTを利用し、要約された質問です(原文:MySQL+PHPサイトでSJISからEUCに変換したい)
MySQL+PHPサイトでSJISからEUCに変換したい
このQ&Aのポイント
MySQL+PHPサイトでSJISからEUCに変換する方法について検討しています。
PHPファイルとphp.iniをEUCに変換し、MySQLの文字コードを指定して実験を行いました。
既存のデータも問題なく表示されましたが、設定ファイルやテーブル数が多いため不安です。
MySQL+PHPサイトでSJISからEUCに変換したい
いつもお世話になっております。
現在PHP4.3.9+MySQL4.1.2でSJISコードで運営をしておりますが、サイトの文字コードをEUCに変更しようかと検討しております。それで、現在いろいろとEUCコードでMySQLから引っ張ってきたデータの表示及びMySQLへのデータ登録の実験をしております。
まずは、PHPファイルをEUCに変換し、php.ini内のSJISだった箇所を下記のようにEUC-JPに変換しました。
mbstring.internal_encoding = EUC-JP
mbstring.http_output = EUC-JP
そして、PHPファイル内でMySQLへ接続後文字コードを指定している箇所を
$sql="SET NAMES ujis";
mysql_query($sql);
と変更しました。
実際のPHPファイルとphp.iniに関する部分のみEUCコードに変更し、sjisで設定しているMySQLの設定ファイルとテーブル内は何も変更していない状態です。この状態でフォームに入力した内容をMySQLのテーブルに追加し、追加した情報をPHPで表示する実験をしましたが特に文字化け等の問題は無く動作しました。また既にMySQLに登録してあるデータをEUCの環境で表示させましたが、問題なく表示されました。
前置きが長くなりましたが、MySQLの設定を特に変更しなくても今回私が行なった方法でSJISからEUCへの変換をしてしまって問題は無いでしょうか?PHPのファイル数やMySQLのテーブル数が多いので、いきなり実験通りに動くか不安があるので、質問させていただきました。
PHPやMySQLの文字コードの初歩的なことが分かっていないもので、変な質問になってしまいましたが、アドバイスいただければ幸いです。
お礼
アドバイスありがとうございました。mb_convert_encodingを活用したいと思います。