- ベストアンサー
日本語をPOSTで送信したときに…
掲示板のようなプログラムをPHP4で作成してみたのですが、日本語をPOST送信したときに問題がでる場合があります。 たとえば、「表示」とフォームから送信した際に、$_POST['moji']で受け取ると、「表\示」のように、\がはいってしまいます。 文字コード等の問題なのでしょうか? 原因・対処法等をご存知の方がいらっしゃれば何卒ご教授ください。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
下の補足です。 原因なのですが、 「php.ini」の「magic_quotes_gpc」の設定が「on」になっており、フォームから受信したパラメーター内に、漢字コードがバックスラッシュ(\)のコードと重なった文字が含まれている場合、バックスラッシュ(\)が勝手に付けられてしまうということです。
その他の回答 (2)
- ika3
- ベストアンサー率64% (29/45)
$moji = stripslashes($_POST['moji']); echo $moji; 試してみてください。
- kusukusu
- ベストアンサー率38% (141/363)
ポストした文字情報が足りずに、コンピュータが文字コードを判断しきれずにいます。 対処法は、「文字コード 美乳」と言うキーワードでグーグル当たりで検索してみてください。 # これは冗談ではなくまじめです(^^;
お礼
早速の回答ありがとうございます。 ># これは冗談ではなくまじめです(^^; この一文がなければ本当に冗談かと困惑したかもしれません^^; 対処としては後でika3様に回答いただいたバックスラッシュの対処で切り抜けることができました。 kusukusu様の回答を拝見して早速Google検索してみたのですが、本当におもしろい話ですね。 単に回答としてだけではなく、話のネタとしても有益な情報を頂いたことにも感謝いたします。
お礼
早速の回答ありがとうございます。 特定の漢字を使用したときに症状がみられたので、何かしら文字コードなどに問題があるのだろうとは思っていたのですが、やはり漢字コードの問題だったのですね。 対処としては先に回答いただいた、strispslashes関数で受け取った文字列からバックスラッシュを抜くということで対処することにします。 カンペキな回答ありがとうございました。