しかし1.9のエンコードがうまくいかない
原因はRackのParamsからのリターンがASCII-8BITになってしまうため
Patent.rbではファイルストリングがUTF-8か判断して
そうでないときはSJISと解釈してforce_encodingし
さらにUTF-8にencodeし
一方でUTF-8の時はUTF-8にforce_encodingする
def conv_to_utf8_string(filename)
str = IO.read(filename) rescue filename
if str.utf8?
# should force encoding: Rack bug which params badly return ASCII-8BIT
str.force_encoding('UTF-8')
else
str.force_encoding('SJIS').encode('UTF-8').gsub("\r", "")
end
end
No comments:
Post a Comment