diff options
Diffstat (limited to 'lib/rexml/encodings')
-rw-r--r-- | lib/rexml/encodings/Shift-JIS.rb | 37 | ||||
-rw-r--r-- | lib/rexml/encodings/Shift_JIS.rb | 1 |
2 files changed, 38 insertions, 0 deletions
diff --git a/lib/rexml/encodings/Shift-JIS.rb b/lib/rexml/encodings/Shift-JIS.rb new file mode 100644 index 0000000000..32aa6450fe --- /dev/null +++ b/lib/rexml/encodings/Shift-JIS.rb @@ -0,0 +1,37 @@ +begin + require 'iconv' + + module REXML + module Encoding + @@__REXML_encoding =<<-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 diff --git a/lib/rexml/encodings/Shift_JIS.rb b/lib/rexml/encodings/Shift_JIS.rb new file mode 100644 index 0000000000..6e8f759373 --- /dev/null +++ b/lib/rexml/encodings/Shift_JIS.rb @@ -0,0 +1 @@ +require 'rexml/encodings/Shift-JIS' |