【发布时间】:2020-04-12 23:14:14
【问题描述】:
当我使用 Ruby 编写包含 £ 符号的 CSV 文件并使用 Excel 打开它时,我看到的是这个符号而不是 ¬£。
我的理解是 Ruby 使用 UTF-8,但 Excel 使用不同的编码 (ASCII) 解释此文件。
我尝试像这样编写一个 US-ASCII 编码的 CSV 文件 and guessed the £ encoding in ASCII:
csv = CSV.open(filename, 'w:US-ASCII')
csv << "\xA3"
csv.close
但它在 CSV 库深处的某处出现 invalid byte sequence in UTF-8 失败。
我做错了什么?
谢谢
【问题讨论】:
-
£不是您在发送的链接中看到的US-ASCII。检查stackoverflow.com/questions/7047944/… -
谢谢贾科莫。但如果是这种情况,Excel 在读取时使用什么符号和编码?
-
我想说的一点:使用
ISO8859-1作为编码。阅读和写作有很大的对称性。从一个你了解另一个。 -
谢谢Giacomo,我试试看!
-
IIRC,Excel 在 UTF-8 CSV 文件前加上 BOM。您可以尝试一下,看看它是否使导入更容易。
标签: excel ruby encoding utf-8 ascii