YAML can't round-trip the hash: {"default"=3D>"\r\n Monkey \r\nX"}. Shouldn't yaml use the escaped string format for any string that starts wit= h whitespace, ie, yaml =3D "--- \ndefault: \"\\r\\n Monkey \\r\\nX\"" p YAML.load(yaml) =3D> {"default"=3D>"\r\n Monkey \r\nX"} Below is a demonstration of this: ruby <<-EOF hash =3D {"default"=3D>"\r\n Monkey \r\nX"} yaml =3D YAML.dump(hash) p yaml hash2 =3D YAML.load(yaml) EOF "--- \ndefault: |-\n \r\n Monkey\r\n \r\n <h2>Contact us</h2>\n" /usr/lib/ruby/1.8/yaml.rb:133:in `load': syntax error on line 4, col 2: ` = X' (ArgumentError) from /usr/lib/ruby/1.8/yaml.rb:133:in `load' from -:4 ruby -v ruby 1.8.7 (2010-06-23 patchlevel 299) [i686-linux] Same bug exists in the jruby implementation as well.