mixi日記に「&」って書こうと思ったら大変だ

友人の mixi 日記にコメントをつけて
その後どうも話がかみあわないな、と思ったら
mixi 日記の記事やコメントでは文字参照が使えるんですね。
何も考えずに入力したから普通に変換されてしまってた。

文字参照というのは、
キーボードからは直接入力できなかったり
実はできるけど普通は知らなかったりするような文字や
HTML の特性の都合でそのまま書いてはマズい文字を
別の方法で参照するためのものですね。

前者は例えば「¾」とか「«」とか。
「¾」は「¾」または「&fraq34;」
「«」は「«」または「«」
と HTML 内に書けばブラウザには目的の文字が表示されますね。

後者でよく使うのはたとえば「<」や「>」で、
これはそのまま記述してしまうと
HTML タグの開始や終了と解釈されてしまうから
代わりに「&lt;」や「&gt;」と書きますね。

じゃあ「<」ではなくて
「&lt;」と表示させたいときはどうすればいいかというと、
「&amp;lt;」と入力。

すると、最初の「&amp;」の部分が「&」になるので
表示されるときは「&lt;」となるわけですね。

さて前置きが長くなったけど、
mixi 日記の本文やコメントでもこの文字参照が使えるので
例えば入力欄に「&quot;」と記述すると
表示されるときは「"」になる。
先ほどと同様ですね。

ところが mixi の場合
たとえば「&amp;」と書きたかったら
「&amp;amp;」と入力してもだめ。

投稿時には入力→確認→投稿という段階を踏むので、
そのたびに文字参照の記述が実際の文字になっちゃうから。

つまり入力欄に「&amp;amp;」と入れて
「入力内容を確認する」ボタンを押すと
その時点で「&amp;amp;」は「&amp;」になり、
その後「作成する」ボタンを押して実際に投稿したら
「&amp;」が「&」になってしまう。

だから mixi 日記に「&amp;」と書きたかったら
入力時には「&amp;amp;amp;」って入れないといけないんですね。
なんてややこしい。

しかも途中で「あ、間違えた」と思って「戻る」ボタンを押したり
あとでその記事を編集しなおそうとすると
その時点で文字参照が文字化してしまうから
入力欄には「&」が。

苦労が水の泡です。

追記

ユーザーが「&」を入力したときに
システム側で「&amp;」に変換してくれれば
この問題は解決するけど、
それだと文字参照は使えなくなってしまう。

要するに mixi は、
ユーザーが文字参照を使えるようにするために
あえて「&」を「&amp;」に変換していないのか、
そんな些末なことは気にしないおおらかさを持っているのか、
どっちなのかと。

関連エントリ

  • このエントリーをはてなブックマークに追加

2 Responses to “mixi日記に「&amp;」って書こうと思ったら大変だ”

  • 2009/06/12 08:02

    なんとそんなカッコいいところで悩まれていたんですね!
    安易に全角記号に逃げるオイラがカッコ悪ぃ~~

  • 2009/06/16 13:15

    ローカライズの現場でも、ソースファイル上の制限などで文字参照が使えない場合は、けっこう安易に全角文字で済ませたりします^^;