2006-08-14 アーカイブ

http://hxxk.jp/2006/08/14/

Firefox とマルチバイト文字列を含む URI

記事データ

投稿者

望月真琴

投稿日時

2006-08-14T21:23+09:00

タグ
概要

Firefox の about:config から network.standard-url.encode-utf8 の値を true にすると、 hxxk.jp の閲覧が便利になりますよという話と、 Vox の日本語ファイル名はいかがなものかという話。

リプライ

2 件のリプライがあります。

記事本文

b:id:FTTH:20060814 経由

最近、ようやくはてなブックマークのお気に入り機能を利用しての情報収集を始めたところですが、それによって記事を書く、ということはまだありませんでした。 そこで今回は b:id:FTTH:20060814 経由で OpenCage: Firefox urlエンコード機能をUTF-8化する方法。を紹介。

この方法を行うとどうなるのかを簡単に説明すると、例えば hxxk.jp 内のタグ "ビール" が設定された記事のように、 URI にマルチバイト文字列を含むリソースへのリンクを指し示したい場合、 hxxk.jp 内では <a href="http://hxxk.jp/tag/ビール">hoge</a> と記述してもリンク元もリンク先も UTF-8 であるので Firefox では無事に該当リソースに到達できますが、同じようなリンクを Shift_JIS のリソースに記述すると http://hxxk.jp/tag/%83r%81%5B%83%8B という URI としてエンコードされてしまい、該当リソースに到達することができません。 なお、文字コードが同じであれば該当リソースに到達することができますが、そもそも仕様上非 ASCII 文字列を URI に直接記述することはしてはいけません。

そこで、私が hxxk.jp 内でタグページへのリンクを記述する場合は <a href="http://hxxk.jp/tag/%E3%83%93%E3%83%BC%E3%83%AB">hoge</a> のようにあらかじめ UTF-8 でエンコードした状態で記述しています。 このようなリンクであれば仕様の面でも問題ありませんし、 Shift_JIS のリソースや EUC-JP のリソースに記述しても問題なく該当リソースに到達することができます。 ( よって、他の方がタグ "ビール" が設定された記事を参照したい場合も、 UTF-8 エンコード済の URI をコピーすることで問題なくリンクすることができます。 )

さて、ここで Firefox のアドレスバーに、 URI を直接入力してリソースを取得することを考えてみましょう。 現バージョンである Firefox 1.5.0.6 では、デフォルトでは network.standard-url.encode-utf8 の値は false になっていますので、アドレスバーにマルチバイト文字列を含む URI を入力すると Shift_JIS でエンコードされます。 すなわち、 http://hxxk.jp/tag/ビール とアドレスバーに入力しても http://hxxk.jp/tag/%83r%81%5B%83%8B という URI をリクエストした形になってしまいます。 そこで OpenCage: Firefox urlエンコード機能をUTF-8化する方法。を参考に network.standard-url.encode-utf8 の値を true にすると、 http://hxxk.jp/tag/ビール とアドレスバーに入力すると http://hxxk.jp/tag/%E3%83%93%E3%83%BC%E3%83%AB という URI をリクエストした形になり、無事に該当リソースに到達することができます。

network.standard-url.encode-utf8 の値が true の場合の hxxk.jp 閲覧時の tips

http://hxxk.jp/tag/hoge という URI をアドレスバーに入力することで、 hxxk.jp 内で特定のタグが設定された記事を探すことができます。 これはタグ名がアルファベットであれば network.standard-url.encode-utf8 の値に関係なく探すことができますが、 network.standard-url.encode-utf8 の値が true であれば日本語のタグ名でも同様に探すことができます。 ( 逆に言うと、 network.standard-url.encode-utf8 の 値が false であれば日本語のタグをアドレスバー入力で探すことはできません。 )

実は http://hxxk.jp/search/hoge という URI をアドレスバーに入力することでも、検索フォームから全文検索を行ったのと同じ結果が得られるように設定しています。 これも同じく network.standard-url.encode-utf8 の値が true であるという前提になりますが、日本語のキーワードでの全文検索を Firefox のアドレスバーから行うことが可能です。 頻繁に使うことは無いかもしれませんが、 hxxk.jp ジャンキーな貴方 ( きっといない ) は覚えておくと良いでしょう。

あと今思い付きましたが、はてなブックマークの文字コードも UTF-8 なので、 network.standard-url.encode-utf8 の値が true であれば http://b.hatena.ne.jp/t/hoge/ という入力で、はてなブックマーク上の日本語なグローバルタグが設定された記事群を得ることもできます。

関係あるような無いような話

数日前から VOX に招待していただいて、試しに使っているところです。 ちなみに英語版の方なので、日本語版の招待状が届き次第また色々と試してみるつもりでここ数日は全く触っていないのですが。

Busy as a cat burying shit - wu’s blog を見てみてビックリ、 http://wu.vox.com/library/post/トリプルブッキング.html という URI になっています。 Vox 内のソースでは UTF-8 エンコードはされているのでリンクを行う際のアドレスのコピーなどはそう問題はありませんが、マルチバイト文字列なファイル名でサーバに put されるっていうのは、私個人としてはあまり好きじゃないなあと思いました。 ( http://hxxk.jp/tag/hoge や http://hxxk.jp/search/hoge の場合は、サーバに静的に put するのではなく、リクエストがあるごとに動的に結果を返しているのです。 ) それならまだ日本語は dirify されてしまいますが、 Movable Type 3.x のように MTEntryBasename を用いた URI にしてくれた方が良いと思います。

それと MTEntryBasename で気付きましたが、 wonderful - wu’s blog の方はタイトルとファイル名 (wonderful.html) が一致しているのに、 Busy as a cat burying shit - wu’s blog の方はタイトルとファイル名 ( トリプルブッキング.html) が一致していないんですよね。 もしかして、最初は「トリプルブッキング」というタイトルにしていたけれど、そうしたら「トリプルブッキング.html 」という日本語ファイル名になっちゃったので、 "Busy as a cat burying shit" というタイトルに変更してみたにも関わらず、ファイル名は最初に決定した「トリプルブッキング.html 」で固定されてしまったという流れでしょうか ?

リプライ

2 件のリプライが送られています。 この記事に対するご意見やご質問、ご感想などありましたら個別記事ページの送信フォームからお送り下さい。

2006-08-16T08:04+09:00 - (o)

&#34;UTF-8 + URL encoding&#34;は&#34;究極のdirify&#34;なんじゃないかなと思いました。 ただし、URL文字列を使った名前でファイルを作ると、その名前ではアクセスできないんですね、Apacheでは。例えば、&#34;http://.../A%20B&#34;というURLでアクセスするファイルは&#34;A B&#34;という名前でなくてはなりません。この変換をOffにできればよいのですけれど。

2006-08-18T01:47+09:00 - 真琴

&#62;究極のdirify 確かにそうかも……。 で、 Vox のサーバも Apache のようですが、 URL 文字列を使った名前で put しているとアクセスできないということは、やはり生の日本語ファイル名でサーバ上に存在しているってことでしょうか。 個人的な感情では、なんか釈然としないなあ……。

hxxk.jp が 3 回生へ

記事データ

投稿者

望月真琴

投稿日時

2006-08-14T19:52+09:00

タグ
概要

ドメインの有効期限の更新および XREA+(PLUS) サービスの利用権の購入を行ったので、 hxxk.jp は 2007 年 8 月までは安泰です。

リプライ

リプライはまだありません。

記事本文

ドメインの有効期限を更新しましたよ

hxxk.jp のドメインの有効期限が迫ってきていたので、 1 年分の有効期限の延長を行いました。 これで突発的な事態 ( 私自身の身に何かが起こるとか、 weblog に割ける時間が無くなるとか ) が無い限り、 hxxk.jp は無事 3 回生ライフに突入できそうです。 何故 3 年生ではなく 3 回生と表現するのかは 1 年前の記事を参照のこと。

それと 2 周年記念祭りのようなイベントはしません。 pp 祭りとかもしません。

有効期限の更新手順を簡単にメモ

購入可能金額がいくら残っているかを事前に確認しておいた方が良いのですが、その手順は割愛。

  1. VALUE DOMAIN:バリュードメイン - ご入金方法:クレジットカード編の手順に従い、必要な額を入金。
  2. VALUE DOMAIN:バリュードメイン - 有効期限確認/更新・延長 ( 要ログイン ) から有効期限の延長操作を実施。
  3. 併せて VALUE DOMAIN:バリュードメイン - サーバーアカウントの登録・管理・購入 ( 要ログイン ) から、 XREA+(PLUS) サービス利用権も 12 ヶ月分購入。

XREA+(PLUS) サービスというのは以前「有料広告免除サービス」と呼ばれていたサービスで、 2005 年 12 月 19 日にサービスの名称が変更になりました。 このサービスも併せて更新しておかないと、使用できるサーバスペースが 1000MB から約 50MB まで激減してしまいますので、忘れないようにしておかないといけません。

以上、また来年の夏の私に向けてのメモ。

リプライ

リプライはまだ送られていないか、管理者の承認待ち状態です。 この記事に対するご意見やご質問、ご感想などありましたら個別記事ページの送信フォームからお送り下さい。

補足情報

著作、講演、制作実績など