こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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の文字コードの初歩的なことが分かっていないもので、変な質問になってしまいましたが、アドバイスいただければ幸いです。

投稿日時 - 2007-04-26 18:32:50

QNo.2952590

困ってます

質問者が選んだベストアンサー

日本語等で文字化けしないのであれば大丈夫じゃないでしょうか。
不安なら 出力の際にmb_convert_encoding を使えばいいと思います。

投稿日時 - 2007-04-29 21:13:28

お礼

アドバイスありがとうございました。mb_convert_encodingを活用したいと思います。

投稿日時 - 2007-05-07 17:55:33

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問