« 04.12 Rails 2.3が動かず苦悩 | ココ | 04.18 おくたまってきた »
2009年4月14日
Rails 2.3から知恵を拝借
Rails2.2まではto_jsonでエンコードされた日本語が化けるというので、2.3で使われてるデコードするコードを強制的に持ってきた(2.3では直したらしいので)。Rubyって対象を限定したときのコードの書き方が分かりやすくてええねー。ブロックの力って素晴らしい。VB.NETでWith句があるけど、あれに近い感じで書けて、なおかつWith句よりもすっきりしてるように見えるのがある意味恐ろしい。
json.gsub(/\\([\\\/]|u[[:xdigit:]]{4})/) do
ustr = $1
if ustr.starts_with?('u')
[ustr[1..-1].to_i(16)].pack("U")
elsif ustr == '\\'
'\\\\'
else
ustr
end
end
Perlでもこれくらいきれいに書けたらなぁ。TWikiの最近のバージョンは、WYSIWYGで編集するとto_jsonと同じように変にエンコードされて日本語が読めんくなるから困ったもんだ。自分で触る分には、Raw Editでマークアップそのまま使えばええだけなので大して問題じゃないんやけど。
By ただ at 22:32 カテゴリー ; PinMarch Samples , プログラミングとか
« 04.12 Rails 2.3が動かず苦悩 |
04月の記事
| 04.18 おくたまってきた »
トラックバック
このエントリーのトラックバックURL:
http://pinmarch.sakura.ne.jp/mt/mt-tb.cgi/1400