更新:原始CSV是在中创建的;当我将数据复制到Google电子表格并从下载CSV时,它工作得很好。我猜有编码问题吗? Excel CSV?有没有任何方法可以绕过这个w/ Excel,或者我们需要告诉我们的客户使用Google文档?
我有一个CSV w/非罗马字符(我的例子是法语,但我们也支持完全非罗马语言,如阿拉伯语和泰语),我正在通过ColdFusion的cffile阅读。问题是读取的输出是否将所有重音字符转换为奇怪的字符?符号(�)最初在cffile上没有指定字符集,所以我尝试添加utf-8 (无更改)和utf-16 (所有内容都转换为中文?)。
有人知道我如何在不丢失/搞乱字符的情况下从CSV中获取这些数据吗?
CSV示例:
史密斯,琼,joan.smith@test.com,H pital Jésus
原稿:
<cffile action="read" file="#expandedFilePath#" variable="strCSV">C cffile w/ charset添加:
<cffile action="read" file="#expandedFilePath#" variable="strCSV" charset="utf-8">strCSV的cfdump (没有字符集/utf-8字符集):
史密斯,琼,joan.smith@test.com,H�pital J�sus
strCSV的cfdump (utf-16字符集):
卭楴栬䩯慮ⱪ潡渮獭楴桀瑥獴潭ⱈ楴慬⁊畳ഊ
发布于 2014-07-10 09:49:26
Excel和大多数Windows程序一样,使用CP-1252编码(而不是UTF-8;这一点很重要:也不是大多数编码猜测者所认可的ISO-8859-1 )。你是否已经尝试过:
<cffile action="read" file="#expandedFilePath#"
variable="strCSV"
charset="windows-1252" />如果这样做有效,您可以依赖您的输入始终是默认Windows文件吗?
https://stackoverflow.com/questions/24641524
复制相似问题