所以我保存到磁盤使用下面的代碼的某些對象(這是紅寶石1.9.2在Windows BTW):LOST :(甩了一些數據,使用Ruby YAML,不能讀回
open('1.txt', "wb") { |file|
file.write(YAML::dump(results))
}
現在我試圖找回那些數據,但是在UTF-8(ArgumentError)中得到了'無效的字節序列',我嘗試了所有我能想到的以不同格式保存數據的想法,但沒有運氣,例如
open('1.txt', 'rb'){|f| a1 = YAML::load(f.read)}
a1.each do |a|
JSON.generate(a)
end
結果於:
C:/m/ruby-1.9.2-p0-i386-mingw32/lib/ruby/1.9.1/json/common.rb:212:in `match':
invalid byte sequence
in UTF-8 (ArgumentError)
from C:/m/ruby-1.9.2-p0-i386-mingw32/lib/ruby/1.9.1/json/common.rb:212:in `generate'
from C:/m/ruby-1.9.2-p0-i386-mingw32/lib/ruby/1.9.1/json/common.rb:212:in `generate'
from merge3.rb:31:in `block in <main>'
from merge3.rb:29:in `each'
from merge3.rb:29:in `<main>'
我該怎麼辦?
編輯:從文件:
---
- !ruby/object:Product
name: HSF
- !ruby/object:Product
name: "almer\xA2n"
首屆產品工程確定,但第2給出了異常。
您能否在'1.txt'中提供YAML輸出的摘錄? – ocodo 2010-11-10 22:04:27
添加了問題的摘錄。 – 2010-11-10 22:24:31