- ベストアンサー
エンコードについて
URLエンコードを使用してデーターの受け渡しをしようと思っているんですが。 1ページ目 $cc4=urlencode("ソ"); echo "エンコード={$cc4}<BR>"; 2ページ目 $cc5=urldecode($cc4); echo "デコード={$cc5}"; カタカナの『ソ』が入るとちゃんと受け渡しが出来ません。 どうしたらいいでしょうか? よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
stripslashes()関数を使えば良いんじゃないですかね。
その他の回答 (2)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
回答No.2
'ソ'がシフトJISで835Cの為に¥のコード(5C)を含むために ””中でエスケープ処理をしようとするためにエラーになります。 簡単な解決としては、文字列中の'\'を'\\'に置き換えることです。 例えばそういう文字列の場合 "ソ\"としてやると\x83\\となって¥を2つにしたのと同じですからOKになります。 いちいち文字コードを観ながら¥マークを挿入していくのも面倒ですね。 試してみたところ $data=<<<EOD ソ EOD; $cc4=urlencode(rtrim($data)); のようにヒアドキュメントで文字列に代入し余分に入る改行を削除すればうまくいきます。
質問者
お礼
まだ始めたばっかりでしたので初歩的な事が分かっておらず、分かりやすい回答ありがとうございました。
- yamagoro
- ベストアンサー率20% (12/60)
回答No.1
日本語はURLエンコードしません。する必要もありません。
お礼
こんな関数があったんですね。 すいません、本で関数を調べたつもりでしたが、一発で解決しました。 ありがとうございます。