3

s = "你好"
s.encoding           # => #<Encoding:UTF-8>
yaml = s.to_yaml     # => "--- \"\\xE4\\xBD\\xA0\\xE5\\xA5\\xBD\"\n"
yaml.encoding        # => #<Encoding:ASCII-8BIT>
yaml.force_encoding 'utf-8' # => "--- \"\\xE4\\xBD\\xA0\\xE5\\xA5\\xBD\"\n"

那么,如何让 'to_yaml' 生成原始外观:“你好”,我的意思不是像 '\XE4'
或者,有没有办法改变 'to_yaml' 结果来实现它?
谢谢!

4

1 回答 1

3

使用ya2yaml

require 'ya2yaml'
$KCODE = "UTF8"
"你好".ya2yaml #=> "--- 你好\n"
于 2010-09-05T18:12:04.817 回答