diff options
author | ser <ser@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-12-12 21:17:41 +0000 |
---|---|---|
committer | ser <ser@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-12-12 21:17:41 +0000 |
commit | 47c59bb62beee384e2dc9492f83c1c8ed2ab4af6 (patch) | |
tree | b81ab8cef10940b53f37c08cfb1046044f47f973 /lib/rexml/encodings/SHIFT-JIS.rb | |
parent | ff2a47eb996b8bc03fc119b731689484c9eb3c78 (diff) |
REXML changes:
* Took out the duplicate Shift-JIS entries, for OSes that don't understand
case sensitive file names.
* Fixed some bugs in the encodings
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rexml/encodings/SHIFT-JIS.rb')
-rw-r--r-- | lib/rexml/encodings/SHIFT-JIS.rb | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/lib/rexml/encodings/SHIFT-JIS.rb b/lib/rexml/encodings/SHIFT-JIS.rb index 2c2a6890c8..e7dc6339ae 100644 --- a/lib/rexml/encodings/SHIFT-JIS.rb +++ b/lib/rexml/encodings/SHIFT-JIS.rb @@ -1 +1,37 @@ -require 'rexml/encodings/SHIFT_JIS' +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 |