Method: Toolkit::String.safe
- Defined in:
- lib/string.rb
.safe(str) ⇒ Object
遇到了 invalid byte sequence in UTF-8 (ArgumentError) 问题解决办法参考 stackoverflow.com/questions/29877310/invalid-byte-sequence-in-utf-8-argumenterror
8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/string.rb', line 8 def safe(str) case OS.os_family when "unix" if ! str.valid_encoding? str = str.encode("UTF-16be", :invalid=>:replace, :replace=>"?").encode('UTF-8') end when "windows" #str = str.force_encoding("UTF-8") str = str.encode("UTF-16be", :invalid=>:replace, :replace=>"?").encode('UTF-8') end return str end |