はてなブックマークの日本語URLの扱いがへんな件
URLが長くなるのがいやなので、いつもはslugを設定してるのだけど mixiのあしあとAPI発掘 はslugを設定するのを忘れてタイトルがそのままURLになってたのだけど、そうするとはてなブックマーク – ido.nu の注目エントリーでひどいことになってた。
リンクされているURLをみてみると
http://ido.nu/kuma/2007/06/29/mixi%e3%81%ae%e3%81%82%e3%81%97%e3%81%82%e3%81%a8api%e7%99%ba%e6%8e%98/http://ido.nu/kuma/2007/06/29/mixi%E3%81%AE%E3%81%82%E3%81%97%E3%81%82%E3%81%A8api%E7%99%BA%E6%8E%98/http://ido.nu/kuma/2007/06/29/mixiのあしあとapi発掘/http://ido.nu/kuma/2007/06/29/mixi%25e3%2581%25ae%25e3%2581%2582%25e3%2581%2597%25e3%2581%2582%25e3%2581%25a8api%25e7%2599%25ba%25e6%258e%2598/
の4つがある。
wordpressがエントリのpermalinkとして表示しているのは1番目のやつ。2番目は16進でエンコードしたときのA-Fの範囲を大文字にしたもの。3番目はエンコードされてるのをデコードしてそのままUTF-8で出力しているもの。4番目は、ひとつめのURLをさらにもう一度URLエンコードしたもの。これらがべつべつのものとして認識されるということは、エンコードされている部分を含めて case-sensitive で単純に違うものは違うものとして認識しているっぽい。
4番目はbookmarkletの問題かなにかっぽいのでおいとくとして(むしろこのURLでちゃんとエントリが表示できるWordPressかmod_rewriteかなにかのほうが仕様としておかしい)、エンコードされているものはほんとはURLにそのまま書きたいけどHTTPの仕様上直接書けないのでエンコードして表現しているだけなのだから、エンコードされている部分はデコードしてから集計してあげるのが正しいのでは。
日本語だとURLが極めて長くなるのが困ったところだけどSEOいいとかでURLにタイトルを入れているところは多くなってきていて、VOXやamazonでも使われているのでなんとかしてもいいんじゃないでしょうか。
追記
http://ido.nu/kuma/2007/06/29/mixi%u306E%u3042%u3057%u3042%u3068api%u767A%u6398/ っていうUnicodeをエスケープしたバージョンもありました。
About this entry
You’re currently reading “はてなブックマークの日本語URLの扱いがへんな件,” an entry on ku
- Published:
- 2007.07.04 / 1pm
- Category:
- log

No comments
Jump to comment form | comments rss [?] | trackback uri [?]