• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:一部の文字のみ文字化けします)

文字変化に関するphpの問題

このQ&Aのポイント
  • phpでXMLを生成していますが、一部の文字だけが文字化けしています。具体的には「究」「岩」「ど」の三つの文字です。他の文字化けの事例は見つかりませんでした。
  • どなたかご教示願えませんでしょうか。phpのバージョンはPHP Version 5.3.3です。htaccessでの記述も行っていますが、解決できませんでした。
  • 文字化けしている文字はコピーライトの表記に使われる文字に似ています。上記の文字だけ特定の条件で文字化けしている可能性があります。解決策をお教えいただけないでしょうか。

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

  • ベストアンサー
  • pringlez
  • ベストアンサー率36% (598/1630)
回答No.1

あなたの言う「エディター」とは具体的に何ですか?質問をする際にはそういう基本的なことは必ず書くようにしましょう。 ※もしかしたらこの回答で解決してしまうかもしれませんが、それでもできればこの回答の補足かお礼にも書いてくださいね。 あなたの挙げた3文字のUTF8での文字コードは 究:E7A9B6 岩:E5B2A9 ど:E381A9 です。で、コピーライト記号はA9です。つまりA9が含まれている文字は文字化けするのではないかと思います。 なのでその調子だと「ラ緩革塩穏恩温」あたりも化けるのではないかと思います。 じゃぁ対策はというと、エディタが何なのかわからないのでなんとも言えませんが、もしかしたらそのエディタのバグなのかもしれません。もしかしたらバグではなく使い方が悪いのかもしれません。もしかしたらエディタで開く前にすでに文字コードが破壊されているのかもしれません。そのどれなのかは分かりません。 が、おそらくはそのどれかでしょう。 エディタが何なのか分からないので、推測の推測の推測になってしまいますが、エディタのバグのせいならエディタを変えることで解決するでしょう。その前に壊れているのなら、プログラムが間違っているから壊れているのです。プログラムをを見直し、どの時点で文字コードが壊れているのか特定しましょう。

TKM2005
質問者

補足

pringlez様 ご回答ありがとうございます。 ラ緩革塩穏恩温 を試してみました。 おっしゃるとおり、すべて文字化けしました。 エディタにつきまして、説明不足ですみません。 RSSのフィード(XML)を自動生成するPHPでdircaster.phpというプログラムがあります。 config_inc.phpに入力した内容をXMLにしてくれます。 エディターとはdircaster.phpをブラウザで開いた時に、ブラウザのメニュー > 表示 > ソースで開くメモ帳のことです。 pringlezさんのおっしゃることに当てはめてみると、config_inc.phpからdircaster.phpへ送る段階でなにか原因がありそうなのですが、見つけられずにいます。

その他の回答 (2)

noname#244856
noname#244856
回答No.3

IE11, Firefox32, Chrome38 でXML表示を試してみましたが、全て正しく表示されました。ブラウザ上での通常表示もソース表示でも同様です(画像参照)。 ソース表示でメモ帳が起動するってことはめちゃくちゃ古いIE7以下を使ってますね…バグだけで済むならまだしも、脆弱性だらけでかなり危ないので早急にアップデートしたほうがいいと思います…

TKM2005
質問者

お礼

ありがとうございました! 無事に解決いたしました!

  • pringlez
  • ベストアンサー率36% (598/1630)
回答No.2

> エディターとはdircaster.phpをブラウザで開いた時に、 > ブラウザのメニュー > 表示 > ソースで開くメモ帳のことです。 うーん、状況の伝わり具合が相変わらず低すぎるのですが。 ・あなたの言うブラウザとは何ですか?IE?FireFox?Chrome?それ以外? ・そのブラウザのバージョンは? ・ブラウザで表示したXMLについてそのソースを開いている? ・ブラウザで表示したときには化けないの? ・ソースだけが化けるの? ・メモ帳とはWindowsに付属しているnotepad.exeのこと? ・他のブラウザだったらどうなるの? >config_inc.phpに入力した内容をXMLにしてくれます。 config_inc.phpがどういうものなのかよく分かりませんけど、 それと似たようなものをシンプルなPHPで書いたら結果はどうなりますか?

TKM2005
質問者

お礼

ありがとうございました! 直りました。 config_inc.phpがUTF-8で書かれているのに対し、dircaster.phpがなぜかシフトJISで書かれていたことが原因のようでした。 編集用に使っていたDreamWeaverでdircaster.phpのエンコードをUTF-8で保存し直したところ、すんなりと直りました。 親身に相談に乗ってくださいまして、ありがとうございました!

関連するQ&A