From: Lazaridis Ilias Date: 2011-05-24T06:41:06+09:00 Subject: [ruby-core:36412] [Ruby 1.9 - Bug #4758] yaml file not human readable when saving utf-8 Issue #4758 has been updated by Lazaridis Ilias. Aaron Patterson wrote: [...] > Yes, it is YAML spec. However, if it's a valid UTF-8 string, I think it > *should* be output as that UTF-8 string. [...] Yes, you're right, it should: The YAML specs have "easily readable by humans" as the top priority design goal: 1.1. Goals The design goals for YAML are, in decreasing priority: 1. YAML is easily readable by humans. http://www.yaml.org/spec/1.2/spec.html . ---------------------------------------- Bug #4758: yaml file not human readable when saving utf-8 http://redmine.ruby-lang.org/issues/4758 Author: Lazaridis Ilias Status: Assigned Priority: Normal Assignee: Aaron Patterson Category: Target version: ruby -v: - On a fresh ruby installation, I've stored some data within a yaml file. The data does arrive there as "\x9B\xA6\xA1\xA0\xA3\xE3", thus I'm not able to edit something there. I file this as a "Bug", because yaml is meant to be human-readable. === Workaround === within some discussions, the following workaround came up: require "psych" // require before yaml require "yaml" But this is not always achievable, e.g. when yaml is used by a library etc. === Insider Context === Backward compatibility can be achieved easily by: YAML::ENGINE.yamler = "syck" === Newcomer Context === Ruby should work "out of the box" correct with utf-8 data, an thus "psych" should become the default. As said, if you view this issue strictly, it's a defect/bug. (I've personally lost some hours with this issue) -- http://redmine.ruby-lang.org