日本語URLのエンコード

URLの入力フォームを半角英数字のみ受け付けるように設定した場合、日本語が含まれるURLはどうなるのかと思った。

ex )https://ja.wikipedia.org/wiki/東京都

参考サイト http://d.hatena.ne.jp/mitaina/20090831/1251726446

基本的にURLに2バイト文字は含まれてはいけないらしい。 最近のブラウザは日本語が含まれるURLが入力された場合、エンコードにより1バイトに変換される。 上記の東京都のwikipediaのURLをブラウザからコピペすると、
https://ja.wikipedia.org/wiki/%E6%9D%B1%E4%BA%AC%E9%83%BD
となる。これなら半角英数字のみ受け付ける設定でも問題なさそうである。 ただし、1バイトにエンコードされることにより字数が増えるので、入力フォームの最大文字数を考慮する必要がある。