Croplio
Croplio

Reputation: 3593

In ruby-on-rails, how to convert the '\X93' like string format to its original look?


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"

Then, how to make the 'to_yaml' generate original looking: "你好", I mean not something like '\XE4'
Or, is there anyway to change the 'to_yaml' result to make it?
Thank you!

Upvotes: 3

Views: 432

Answers (1)

tokland
tokland

Reputation: 67900

Use ya2yaml:

require 'ya2yaml'
$KCODE = "UTF8"
"你好".ya2yaml #=> "--- 你好\n"

Upvotes: 3

Related Questions