• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:「~」だけ 文字化けする。)

文字化けする原因と対策方法を解説

このQ&Aのポイント
  • PHP初心者がフォームから入力された文字をテキストファイルに保存して表示する方法について説明します。
  • 問題は、表示画面での文字化けです。特に「~」の文字が変な文字になってしまいます。
  • 文字化けの原因は文字コードの不一致です。フォーム画面と表示画面の文字コードを統一することで解決できます。

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

  • ベストアンサー
回答No.1

htmlエンティティ文字に変換されているようですね。 echo "<li>". html_entity_decode($value). "</li>"; でデコードしてみてください。

2009matsu
質問者

お礼

具体的な回答ありがとうございます。 echo "<li>". html_entity_decode($value). "</li>"; を試してみたのですが、だめでした。 解決できたらここで報告したいと思います。 ありがとうございました。

2009matsu
質問者

補足

Gotthold様 higuchi01様 回答有難うございました。 根本的な解決にはなっていないのですが、 <ul> <?php $file = "hoge.txt"; $txt = file($file); foreach ($txt as $value){ $value = mb_convert_encoding($value,"utf-8"); $value = str_replace ("〜","~",$value); echo "<li>".$value."</li>"; } ?> 「$value = str_replace ("〜","~",$value);」 の一行を挿入して回避しました。 有難うございました。

その他の回答 (1)

  • Gotthold
  • ベストアンサー率47% (396/832)
回答No.2

「WAVE DASH - FULLWIDTH TILDE問題」が何らかの形で影響してるとか? Unicode - Wikipedia http://ja.wikipedia.org/wiki/Unicode#WAVE_DASH_-_FULLWIDTH_TILDE.E5.95.8F.E9.A1.8C

2009matsu
質問者

お礼

回答ありがとうございます。 まだ解決はしていないのですが、自分でも調べてみたいと思います。

関連するQ&A

専門家に質問してみよう