友人の mixi 日記にコメントをつけて
その後どうも話がかみあわないな、と思ったら
mixi 日記の記事やコメントでは文字参照が使えるんですね。
何も考えずに入力したから普通に変換されてしまってた。
文字参照というのは、
キーボードからは直接入力できなかったり
実はできるけど普通は知らなかったりするような文字や
HTML の特性の都合でそのまま書いてはマズい文字を
別の方法で参照するためのものですね。
前者は例えば「¾」とか「«」とか。
「¾」は「¾」または「&fraq34;」
「«」は「«」または「«」
と HTML 内に書けばブラウザには目的の文字が表示されますね。
後者でよく使うのはたとえば「<」や「>」で、
これはそのまま記述してしまうと
HTML タグの開始や終了と解釈されてしまうから
代わりに「<」や「>」と書きますね。
じゃあ「<」ではなくて
「<」と表示させたいときはどうすればいいかというと、
「&lt;」と入力。
すると、最初の「&」の部分が「&」になるので
表示されるときは「<」となるわけですね。
さて前置きが長くなったけど、
mixi 日記の本文やコメントでもこの文字参照が使えるので
例えば入力欄に「"」と記述すると
表示されるときは「"」になる。
先ほどと同様ですね。
ところが mixi の場合
たとえば「&」と書きたかったら
「&amp;」と入力してもだめ。
投稿時には入力→確認→投稿という段階を踏むので、
そのたびに文字参照の記述が実際の文字になっちゃうから。
つまり入力欄に「&amp;」と入れて
「入力内容を確認する」ボタンを押すと
その時点で「&amp;」は「&」になり、
その後「作成する」ボタンを押して実際に投稿したら
「&」が「&」になってしまう。
だから mixi 日記に「&」と書きたかったら
入力時には「&amp;amp;」って入れないといけないんですね。
なんてややこしい。
しかも途中で「あ、間違えた」と思って「戻る」ボタンを押したり
あとでその記事を編集しなおそうとすると
その時点で文字参照が文字化してしまうから
入力欄には「&」が。
苦労が水の泡です。
追記
ユーザーが「&」を入力したときに
システム側で「&」に変換してくれれば
この問題は解決するけど、
それだと文字参照は使えなくなってしまう。
要するに mixi は、
ユーザーが文字参照を使えるようにするために
あえて「&」を「&」に変換していないのか、
そんな些末なことは気にしないおおらかさを持っているのか、
どっちなのかと。
2009/06/12 08:02
なんとそんなカッコいいところで悩まれていたんですね!
安易に全角記号に逃げるオイラがカッコ悪ぃ~~
2009/06/16 13:15
ローカライズの現場でも、ソースファイル上の制限などで文字参照が使えない場合は、けっこう安易に全角文字で済ませたりします^^;