JAMADAM.COM

RSS Subscribe to my RSS feed

Stripe Calendar

Sep, 2010
Aug 1213141516171819202122232425262728293031 Sep 123456

Entry: 国際化ドメイン名をHTMLに記述する際の記述方法

国際化ドメイン名をHTMLに記述する際の記述方法

Initial post: 2009.10.18 | Last modified: 2009.10.18

国際化ドメイン名をHTMLに記述する際の記述方法に関するメモ。間違いあったら指摘して。

(1) <a href="http://%E7%B8%AE.jp/">http://縮.jp/</a> (誤り)
(2) <a href="http://縮.jp/">http://縮.jp/</a>
(3) <a href="http://&#x7e2e;.jp/">http://縮.jp/</a>
(4) <a href="http://xn--jj0a.jp/">http://縮.jp/</a>

(1)パーセントエンコード。誤り。

(2)マルチバイト文字を直接記述する。一番正しくて手軽な記述。問題点は、UAがIDNに対応していないため通信時に正しくpunycode変換されないかもしれないこと。

(3)マルチバイト文字を数値文字参照で記述する。敢えてこう記述するメリットはあまりないけど、例えばマルチバイト文字を扱えないシステムとの相互運用を想定しているためにHTML内に日本語を直接記述したくない場合には、このように記述して構わない。

(4)punycode変換して記述する。リンクを正しく動作させるという点では一番安全かもしれない記述。ただし、エンドユーザーが知りうるURLが全てデコードされるかどうかはブラウザの実装次第。例えば「リンクをコピー」したときにpunycodeのまま出力されてしまってはIDNの利点が台無し。punycode変換はUAが通信時に行うことが推奨されているため、HTMLに記述する時点で行う必要はない。