- ベストアンサー
文字変化に関するphpの問題
- phpでXMLを生成していますが、一部の文字だけが文字化けしています。具体的には「究」「岩」「ど」の三つの文字です。他の文字化けの事例は見つかりませんでした。
- どなたかご教示願えませんでしょうか。phpのバージョンはPHP Version 5.3.3です。htaccessでの記述も行っていますが、解決できませんでした。
- 文字化けしている文字はコピーライトの表記に使われる文字に似ています。上記の文字だけ特定の条件で文字化けしている可能性があります。解決策をお教えいただけないでしょうか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
あなたの言う「エディター」とは具体的に何ですか?質問をする際にはそういう基本的なことは必ず書くようにしましょう。 ※もしかしたらこの回答で解決してしまうかもしれませんが、それでもできればこの回答の補足かお礼にも書いてくださいね。 あなたの挙げた3文字のUTF8での文字コードは 究:E7A9B6 岩:E5B2A9 ど:E381A9 です。で、コピーライト記号はA9です。つまりA9が含まれている文字は文字化けするのではないかと思います。 なのでその調子だと「ラ緩革塩穏恩温」あたりも化けるのではないかと思います。 じゃぁ対策はというと、エディタが何なのかわからないのでなんとも言えませんが、もしかしたらそのエディタのバグなのかもしれません。もしかしたらバグではなく使い方が悪いのかもしれません。もしかしたらエディタで開く前にすでに文字コードが破壊されているのかもしれません。そのどれなのかは分かりません。 が、おそらくはそのどれかでしょう。 エディタが何なのか分からないので、推測の推測の推測になってしまいますが、エディタのバグのせいならエディタを変えることで解決するでしょう。その前に壊れているのなら、プログラムが間違っているから壊れているのです。プログラムをを見直し、どの時点で文字コードが壊れているのか特定しましょう。
その他の回答 (2)
- pringlez
- ベストアンサー率36% (598/1630)
> エディターとはdircaster.phpをブラウザで開いた時に、 > ブラウザのメニュー > 表示 > ソースで開くメモ帳のことです。 うーん、状況の伝わり具合が相変わらず低すぎるのですが。 ・あなたの言うブラウザとは何ですか?IE?FireFox?Chrome?それ以外? ・そのブラウザのバージョンは? ・ブラウザで表示したXMLについてそのソースを開いている? ・ブラウザで表示したときには化けないの? ・ソースだけが化けるの? ・メモ帳とはWindowsに付属しているnotepad.exeのこと? ・他のブラウザだったらどうなるの? >config_inc.phpに入力した内容をXMLにしてくれます。 config_inc.phpがどういうものなのかよく分かりませんけど、 それと似たようなものをシンプルなPHPで書いたら結果はどうなりますか?
お礼
ありがとうございました! 直りました。 config_inc.phpがUTF-8で書かれているのに対し、dircaster.phpがなぜかシフトJISで書かれていたことが原因のようでした。 編集用に使っていたDreamWeaverでdircaster.phpのエンコードをUTF-8で保存し直したところ、すんなりと直りました。 親身に相談に乗ってくださいまして、ありがとうございました!
補足
pringlez様 ご回答ありがとうございます。 ラ緩革塩穏恩温 を試してみました。 おっしゃるとおり、すべて文字化けしました。 エディタにつきまして、説明不足ですみません。 RSSのフィード(XML)を自動生成するPHPでdircaster.phpというプログラムがあります。 config_inc.phpに入力した内容をXMLにしてくれます。 エディターとはdircaster.phpをブラウザで開いた時に、ブラウザのメニュー > 表示 > ソースで開くメモ帳のことです。 pringlezさんのおっしゃることに当てはめてみると、config_inc.phpからdircaster.phpへ送る段階でなにか原因がありそうなのですが、見つけられずにいます。