我有一个rails应用程序,我的用户可以通过Web表单手动设置产品。这很好用并且很好地接受外来字符,例如'Svölk'这样的字。
我现在需要批量导入产品并使用FasterCSV来执行此操作。通常这没有问题,但是当CSV包含外来字符时,它会在那时停止。
我是否认为文件首先需要是UTF-8?
另外,我正在运行Ruby 1.8.7,那么ICONV是我转换文件的唯一解决方案吗?这可能是一个问题,因为原始文件的格式将不知道。
让其他人遇到过这个问题,如果有的话,你是如何克服它的?
答案 0 :(得分:1)
您有两种选择:
File.open(SOURCE_FILE).read.encoding
我更喜欢第一种方法,因为它尝试检测基于字符串的编码,并尝试转换为所需的编码(UTF-8),然后您可以在FasterCSV options上设置编码。