携帯のための漢字コードフィルター
masuidriveさんがKeitaiFilterってのを自作してくれていて、
around_filterで使うと便利そうだ。
require 'nkf' class KeitaiFilter def before(controller) controller.params = to_internal(controller.params) controller.headers['Content-Type'] = 'text/html; charset=Shift_JIS' controller.headers['Pragma'] = 'no-cache' controller.headers['Cache-Control'] = 'no-cache' controller.headers['Expires'] = 'Thu, 01 Dec 1994 16:00:00 GMT' end def after(controller) if controller.headers['Content-Type'].include? 'text/html' controller.response.body = NKF.nkf('-m0 -x -s -W', controller.response.body) end end def to_internal(hash) hash.each_pair do | key, value | if value.is_a? String hash[key] = NKF.nkf('-m0 -x -S -w', value) elsif value.is_a? Hash hash[key] = to_internal(value) end end return hash end def self.to_external(str) NKF.nkf('-m0 -x -s -W', str) end end
使い方は後日書きます。