URI encode/decode
違いがあるのは分かっていたけど、今までぼんやりしていた JavaScript と組み合わせる際の注意点がちょっと分かった気がする。
要は \x20 の空白と + の扱いの話で、
- JavaScript の decode では + -> \x20 変換はしない
- JavaScript に渡す際は \x20 -> %20 変換を行う
ということかな。組み合わせ的には以下で正しく動いている様子。
PHP | rawurlencode() |
JavaScript | decodeURIComponent() |
今回は逆方向は試してないけど、恐らく同じ扱いでいいと思う。