タグの「文字化け」の件・さらに続き
最近23hq.com絡みではこの話しか書いてないけれども、まぁいいか。この件、何日か前に23hq.comのフォーラムにバグ報告をしてあるので、その後何か新しい事が分かり次第追加でコメントしようと思い調べてみている。
上のフォーラムにも「平假名のタグを付けようとしたら『ee』になったことがあった」という人がコメントを付けているけれども、実際「ee」はしょっちゅう見掛ける。どういうタグを付けようとするとどうなるか、についてはどうやら1対1の対応は存在しないようなので、実際にあれこれ試してみたところ、
こういうタグを付けると | こうなる |
---|---|
あ | ▧ |
ああ | ee |
あああ | 203 |
ああああ | andy |
あああああ | rain* |
ああああああ | かわいい.. |
ここでは全て「あ」でやっているけれども、平假名(或いは片假名も)なら大概何でも同じ結果になるらしい。以前「ロボ」が「ee」になり「はてな」が「203」になり「わんわん」が「andy」になり「わんわんわん」が「かわいい..」になったのはそういうことだ。假名タグの化け方はそのタグの文字数だけで決まる。要するに、假名タグを付けようとした際に そのタグと同じ文字数の假名タグが既に存在する場合にはそいつと混同してしまうということだろう。どうもハッシュテーブルの実装か何かがマズイ風味。
ところで、こうした化けを防ぐにはアタマに「_」など假名以外の文字をつけると有効だと書いたけれども、これはあくまで「假名とそれ以外の文字との、これまで使用されていない組み合わせ方」を使っているから化けないだけだということらしい。例えば
こういうタグを付けると | こうなる |
---|---|
_あ | _あ |
_ああ | _ああ |
_あああ | _うなぎ |
_ああああ | _わんわん |
_あああああ | _あああああ |
_ああああああ | _ああああああ |
「_うなぎ」も「_わんわん」も以前から私が使ってるタグだなw