• ベストアンサー

PHP+MYSQLでの文字コードによる文字化け

お世話になっております。 PHP+MYSQLの構成でDBに登録、DBから参照→表示といったアプリケーションを作っているのですが質問があります。 文字コードを意識せずに、”Shift-JIS”でPHPやhtmlのコードを書いていたのですが、仕様上問題があることに気づいたので今まで書いたソースの文字コードを”EUC-JP”に変更することになりました。 フリーで複数のテキストファイルをShift-JIS→EUCに一括変換するソフトがあるので、そのソフトを使ってEUCの文字コードに変換したところ、ソース中の日本語(全角)が文字化けしてしまいました。 #どの変換ソフトを使っても同様の結果になります ブラウザー上で表示すると問題ありませんが、今後ソースをいじるときに非常に不便です。目的としては、「ソースの文字コードをShift-JISに変換」かつ「ソース内の日本語(全角)の文字化けを起こさない」方法をご存知の方は是非ご教授お願い致します。

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

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 ソースを編集するテキストエディタをEUCコードが表示できるものに 変えてはいかがでしょうか? 化けちゃうのは単純に編集しようとしているテキストエディタが EUCに対応していないように思えます。 今後サーバ上でPHPを動かすのにEUCを使うのでしたら >「ソースの文字コードをShift-JISに変換」かつ「ソース内の日本語(全角)の文字化けを起こさない」 ソースもEUCで管理すればいいだけな気がします。 私はここのエディタを使用しています。 http://phpspot.net/php/

dora2005
質問者

補足

早速のご回答ありがとう御座います。 私の質問で言葉足らずのところがありました。 私の利用しているエディタはオプションでEUC読み込み/出力出来ます。一括でEUC変換してソースを見ると、一部の日本語で問題が起きています。 ちなみにIBMホームページビルダーでShift-JIS→EUC変換すると問題ありません。ただし、この方法では1つ1つのファイルを修正していく必要があり、150ファイルあるのでかなり厳しいです。 一括で変換できるソフトでは、文字コード変換オプションとして改行コードがありますが、こちらはWindows改行のままで変更しておりません。 文字コードは規格として決まっているものだと思いますが、もしかしてソフト依存の部分もあるのかと、、、 最悪、1つ1つビルダーで変換していこうと思います。 以上 ありがとうございました。

その他の回答 (2)

noname#19884
noname#19884
回答No.3

問題が起きるのが本当に一部ならば 元々の文字コードがShift-JISでは無いことが考えられます。 Shift-JISと間違えやすいものとして Windows-31J MS932 SJIS などがあります。 文字コードは規格として決まっているものですが アプリケーションの実装などによってご認識を起こしやすいです。

dora2005
質問者

お礼

アドバイスありがとうございます。 元々はホームページビルダーV9のデフォルト設定(Shift-JIS)でソースをいじっています。 なので、文字コードはShift-JISで間違いないと思います。

noname#19884
noname#19884
回答No.2

ソースを編集しているエディタがEUCに対応していないだけだと想います。 EUCを使用するならば、未対応のエディタには見切りを付けた方が良いです。

関連するQ&A