PHPのparse_urlは勝手にエンコード変換する
PHPはRFC定義に従う基礎的な関数が提供されていない。 しかたないのでURIを定義しているRFC3986 に従って実装する。
PHPのparse_url()
は勝手に文字コードを変換する。しかも自力で文字コードを判別する。
そのほか不完全なURLでも色々と頑張ってしまう。
そのためマルチバイト文字列が含まれるURLの場合は文字化けが起きてしまう。
|
|
user/passには対応していないけどRFC3986を素直にサポートした。 なんでPHPは第一義の(定義の存在する)機能が隠されているんだ。。
PSRの命名規則は大御所向け?
PSR
詳しくないのだけど
PSR-0
によると名前空間の第一階層はベンダ名になっている。
FIG メンバーの様に大御所は問題ないけど
野良を個人で公開する時には、どうしたらいいんだろう。
Javaみたいにドメイン逆向きとか許して貰えるなら嬉しいな。
文字コード変換周りで出てきた事
php_build_query()
はクエリを作成する際に勝手にエンコードする URLエンコードした文字列が値に含まれていると多重エンコードになる- JavaScriptでURLエンコードするときUTF-8 しか標準は存在しない
- URLエスケープされた文字列が本文のエンコードが一致しないと文字化けする