From: Rainer Date: 2007-12-31T06:40:00+09:00 Subject: Re: Using unicode in YAML Hello baumanj, \xEF\xBB\xBF from your example above is the byte order mark (BOM) that is needed to identify UTF-8-files. \357\273\277 are just the octal numbers that mean \xEF\xBB\xBF in hex. Have you tried to remove these three bytes manually before writing your string as YAML? I currently have a similar problem, and I just found out that these three bytes are imported (wrongly, I think) via YAML#load_file into one of my objects (in your case: the "jp" key). So try this: f = File.open("jp.txt", "r") raw = f.read f.close #remove bom raw_without_bom = raw[3..-1] #now change to yaml hash = YAML::load(raw_without_bom) Hope that helps. Happy new year! Rainer