- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:「~」だけ 文字化けする。)
文字化けする原因と対策方法を解説
このQ&Aのポイント
- PHP初心者がフォームから入力された文字をテキストファイルに保存して表示する方法について説明します。
- 問題は、表示画面での文字化けです。特に「~」の文字が変な文字になってしまいます。
- 文字化けの原因は文字コードの不一致です。フォーム画面と表示画面の文字コードを統一することで解決できます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
htmlエンティティ文字に変換されているようですね。 echo "<li>". html_entity_decode($value). "</li>"; でデコードしてみてください。
その他の回答 (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
質問者
お礼
回答ありがとうございます。 まだ解決はしていないのですが、自分でも調べてみたいと思います。
お礼
具体的な回答ありがとうございます。 echo "<li>". html_entity_decode($value). "</li>"; を試してみたのですが、だめでした。 解決できたらここで報告したいと思います。 ありがとうございました。
補足
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);」 の一行を挿入して回避しました。 有難うございました。