[PHP-users 14681]JavaScriptでエンコード?エスケープ?された文字のPHPでのデコード

平松 幸治 kouji @ devil.plala.or.jp
2003年 4月 16日 (水) 18:01:22 JST


こんにちは 平松です

JavaScript から escape()関数を用いてURLをエンコードして
php にエンコード済みのURLを渡すのですが・・・

phpでデコードできません・・・

escape()関数で ローレックス を変換すると
%u30ED%u30FC%u30EC%u30C3%u30AF%u30B9
phpのrawurldecode()もしくはurldecode()で ローレックス を変換すると
%A5%ED%A1%BC%A5%EC%A5%C3%A5%AF%A5%B9

互換性がないですね(*_*)
当然のような気もするのですが・・・

調べたところ・・・
Internet Explorer 4.x や Netscape Navigator/Communicator 4.5 (Preview Release のみ。正式版では元に戻りました) では
Unicode 2.0 (Windows NT(内部コード) や Java) が返ってきます。
とのことですが・・・
Unicodeで返ってきているのですね(*_*)
phpの方はEUCで返ってくるようです

phpはEUCで記述しています・・・
また、JavaScriptはS-JISで記述しないといけないと読んだことがありますが・
・・本当なのでしょうか?・・・・余談ですね


もちろん受け取ったphpから吐き出されたHTMLでJavaScriptによるURLのunescape()は成功します

Javaのメーリングリストに聞くべきなのかphpのメーリングリストに聞くべきなのか・・・
なやんんだのですが・・・phpの方の様な気がするので・・・・
こちらでお尋ねします


どなたか回避方法をご教示下さい。
-- 
平松 幸治 <kouji @ devil.plala.or.jp>



PHP-users メーリングリストの案内