- ベストアンサー
PHP+MYSQLでの文字コードによる文字化け
お世話になっております。 PHP+MYSQLの構成でDBに登録、DBから参照→表示といったアプリケーションを作っているのですが質問があります。 文字コードを意識せずに、”Shift-JIS”でPHPやhtmlのコードを書いていたのですが、仕様上問題があることに気づいたので今まで書いたソースの文字コードを”EUC-JP”に変更することになりました。 フリーで複数のテキストファイルをShift-JIS→EUCに一括変換するソフトがあるので、そのソフトを使ってEUCの文字コードに変換したところ、ソース中の日本語(全角)が文字化けしてしまいました。 #どの変換ソフトを使っても同様の結果になります ブラウザー上で表示すると問題ありませんが、今後ソースをいじるときに非常に不便です。目的としては、「ソースの文字コードをShift-JISに変換」かつ「ソース内の日本語(全角)の文字化けを起こさない」方法をご存知の方は是非ご教授お願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 ソースを編集するテキストエディタをEUCコードが表示できるものに 変えてはいかがでしょうか? 化けちゃうのは単純に編集しようとしているテキストエディタが EUCに対応していないように思えます。 今後サーバ上でPHPを動かすのにEUCを使うのでしたら >「ソースの文字コードをShift-JISに変換」かつ「ソース内の日本語(全角)の文字化けを起こさない」 ソースもEUCで管理すればいいだけな気がします。 私はここのエディタを使用しています。 http://phpspot.net/php/
その他の回答 (2)
問題が起きるのが本当に一部ならば 元々の文字コードがShift-JISでは無いことが考えられます。 Shift-JISと間違えやすいものとして Windows-31J MS932 SJIS などがあります。 文字コードは規格として決まっているものですが アプリケーションの実装などによってご認識を起こしやすいです。
お礼
アドバイスありがとうございます。 元々はホームページビルダーV9のデフォルト設定(Shift-JIS)でソースをいじっています。 なので、文字コードはShift-JISで間違いないと思います。
ソースを編集しているエディタがEUCに対応していないだけだと想います。 EUCを使用するならば、未対応のエディタには見切りを付けた方が良いです。
補足
早速のご回答ありがとう御座います。 私の質問で言葉足らずのところがありました。 私の利用しているエディタはオプションでEUC読み込み/出力出来ます。一括でEUC変換してソースを見ると、一部の日本語で問題が起きています。 ちなみにIBMホームページビルダーでShift-JIS→EUC変換すると問題ありません。ただし、この方法では1つ1つのファイルを修正していく必要があり、150ファイルあるのでかなり厳しいです。 一括で変換できるソフトでは、文字コード変換オプションとして改行コードがありますが、こちらはWindows改行のままで変更しておりません。 文字コードは規格として決まっているものだと思いますが、もしかしてソフト依存の部分もあるのかと、、、 最悪、1つ1つビルダーで変換していこうと思います。 以上 ありがとうございました。