我有一个函数将文件名写入ruby中的文件。 但是我收到了这个错误:
Encoding::UndefinedConversionError: "\x96" from ASCII-8BIT to UTF-8
克服了这个问题:
file = File.open("names", "w")
file.puts(filename.force_encoding("utf-8"))
这样做解决了这个问题,但是当我再次阅读文件并尝试打开names
存储在名称文件中的文件时。
我收到错误CANNNOT STAT: NO SUCH FILE OR FOLDER EXISTS
。
欢迎任何建议.. !!
答案 0 :(得分:2)
好吧,我会尽力建议。
听起来你从运行Windows的工作站收到了这个文件。看起来这个文件的原始名称是
Volunteer Log – in Page.docx
也就是说,是使用Encoding::CP1252
存储的。好的,你要以正确的方式处理CP1252
:
file = File.open 'names', 'w'
file.puts filename.force_encoding(Encoding::CP1252).encode(Encoding::UTF_8)
希望它有所帮助。