- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:投稿内容が文字化けして記録されてしまう。)
アンケートフォームの文字化け対策
このQ&Aのポイント
- アンケートフォームでの文字化け問題を解決する方法について教えてください。
- 提供されたPerlスクリプトを使用したアンケートフォームで、文字化けが発生しているため、解決方法を教えてください。
- 文字コードの設定によって、アンケートフォームの文字化け問題が解消されますか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
「文字コードをEUCで保存」とテキストに書かれていたのは、このCGIを動作させる環境がUNIX系を前提としているためと思われます。 提示されたソースのPerlインタプリタパスを見ると「C:/」から始まっているので、このCGIを動作させているOSはWindowsですね。 Windowsですと、ご承知のとおり文字コードがShift_JISですので、jcode.plでEUCに変換すると文字化けしてしまうのです。 ですので、Windows環境で動作させる場合はjcode.plでshift_jisに変換してやればOKです。 &jcode'convert(*data,'euc'); → &jcode'convert(*data,'sjis');
お礼
自己解決しました。 どうやらスクリプトではなく、 クライアントのロケーションに問題があったようです。 お騒がせしました。
補足
ご指摘の通り、WindowsXPにてApacheで動作確認しております。 が、&jcode'convert~をsjisに直しても改善されませんでした…。 補足ですが、htmlは以下のように書きました。 <html> <head> <title>アンケートフォーム</title> </head> <body> <center> <form method="post" action="form.cgi"> <table border="0" cellspacing="0"> <tr> <td>お名前</td> <td><input type="text" size="40" name ="name"></td> </tr> <tr> <td>メールアドレス</td> <td><input type="text" size="40" name="mail"></td> </tr> <tr> <td>性別</td> <td> <input type="radio" name="sex" value="男">男 <input type="radio" name="sex" value="女">女 </td> </tr> <tr> <td colspan="2">このホームページをどこで知りましたか?<br> <select name="how"> <option value="検索エンジンで">検索エンジンで <option value="ほかのページからのリンクで">ほかのページからのリンクで <option value="雑誌の記事を見て">雑誌の記事を見て <option value="友人にすすめられた">友人にすすめられた <option value="たまたま">たまたま来た <option value="その他">その他 </select> </td> </tr> <tr> <td colspan="2">このページで気に入ったコーナーは?<br> <select name="corner"> <option value="日記">日記コーナー <option value="デジカメ">デジカメコーナー <option value="エッセイ">エッセイ <option value="特になし">特になし </select> </td> </tr> <tr> <td colspan="2">ホームページを見た感想をお書きください。<br> (右端で自動的に改行されます)<br> <textarea rows="10" cols="60" wrap="soft" name="kansou"></textarea> </td> </tr> </table> <input type="submit" value="送信する"> <input type="reset" value="クリア"> </form> </body> </html> 引き続き原因がわかる方いましたら、ご教授 ください。