2003-12-12 16:17:41 -05:00
|
|
|
begin
|
|
|
|
require 'iconv'
|
|
|
|
|
|
|
|
module REXML
|
|
|
|
module Encoding
|
|
|
|
@@__REXML_encoding_methods =<<-EOL
|
|
|
|
def decode(str)
|
|
|
|
return Iconv::iconv("utf-8", "shift-jis", str)[0]
|
|
|
|
end
|
|
|
|
|
|
|
|
def encode content
|
|
|
|
return Iconv::iconv("shift-jis", "utf-8", content)[0]
|
|
|
|
end
|
|
|
|
EOL
|
|
|
|
end
|
|
|
|
end
|
|
|
|
rescue LoadError
|
|
|
|
begin
|
|
|
|
require 'uconv'
|
|
|
|
|
|
|
|
module REXML
|
|
|
|
module Encoding
|
|
|
|
@@__REXML_encoding_methods =<<-EOL
|
|
|
|
def to_shift_jis content
|
|
|
|
Uconv::u8tosjis(content)
|
|
|
|
end
|
|
|
|
|
|
|
|
def from_shift_jis(str)
|
|
|
|
Uconv::sjistou8(str)
|
|
|
|
end
|
|
|
|
EOL
|
|
|
|
end
|
|
|
|
end
|
|
|
|
rescue LoadError
|
|
|
|
raise "uconv or iconv is required for Japanese encoding support."
|
|
|
|
end
|
|
|
|
end
|