htmlspecialchars_decode

xmlは&や<や>が&amp;や&lt;や&gt;にエンコードされているわけだから、 それをデコードしてあげなきゃいけなかったんだ。 phpだとhtmlspecialchars_decodeでなんとかなりそう。 Rubyだと、なんだろう・・・うう脳がとろけそう。

たぶん、gsubだな。gsubしかない気がしてきた。 深く考え過ぎないようにしないと。

整理しよう。xmlから取り出すときは、htmlspecialchars_decodeしてあげる(Rubyではgsubでえんやこら)。

htmlに書き出すときは htmlspecialcharsしてあげる(Rubyは今回CGIに使わないので関係ない)。

ただし、htmlの中でもurlに書き出すときは urlencodeしてあげる(Rubyは今回CGIに使わないので関係ない)。

mysqlに格納するときはmysql_real_escape_stringしてあげる(RubyMysql::quote)。

たったそれだけだよ。わはは。

urlencodeではなくrawurlencodeを使わねばならなかったもよう。 urlencodeは空白文字を+に変換してしまう。 rawurlencodeは空白文字を%20に変換する。 mediawikiとの相性で言うと空白文字は%20に変換されなくてはならん。 うーむ。