diff options
Diffstat (limited to 'lib/rexml/encodings/EUC-JP.rb')
-rw-r--r-- | lib/rexml/encodings/EUC-JP.rb | 49 |
1 files changed, 27 insertions, 22 deletions
diff --git a/lib/rexml/encodings/EUC-JP.rb b/lib/rexml/encodings/EUC-JP.rb index 8b146e5f0a..a1314d0856 100644 --- a/lib/rexml/encodings/EUC-JP.rb +++ b/lib/rexml/encodings/EUC-JP.rb @@ -1,31 +1,36 @@ begin - require 'uconv' + require 'iconv' - module REXML - module Encoding - def decode(str) - return Uconv::euctou8(str) - end + module REXML + module Encoding + @@__REXML_encoding_methods =<<-EOL + def decode(str) + return Iconv::iconv("utf-8", "euc-jp", str)[0] + end - def encode content - return Uconv::u8toeuc(content) - end - end - end + def encode content + return Iconv::iconv("euc-jp", "utf-8", content)[0] + end + EOL + end + end rescue LoadError begin - require 'iconv' - module REXML - module Encoding - def decode(str) - return Iconv::iconv("utf-8", "euc-jp", str)[0] - end + require 'uconv' + + module REXML + module Encoding + @@__REXML_encoding_methods =<<-EOL + def decode(str) + return Uconv::euctou8(str) + end - def encode content - return Iconv::iconv("euc-jp", "utf-8", content)[0] - end - end - end + def encode content + return Uconv::u8toeuc(content) + end + EOL + end + end rescue LoadError raise "uconv or iconv is required for Japanese encoding support." end |