2012-08-24 21:25:06 +0000 2012-08-24 21:25:06 +0000
21
21
Advertisement

Excel保存为CSV时销毁特殊字符

Advertisement

我正在做一个项目,使用客户提供的CSV文件来填充数据库。客户要创建电子表格,然后将其保存为CSV文件上传,然后再解析成数据库。

问题是,每当客户端将excel电子表格保存为MS-DOS的.csv文件时,许多特殊字符会被转换为问号"?"(符号如’“ / )。然而,如果我们打开CSV文件,并手动将每个"?"替换为正确的字符,就能正常工作。

问题是数据文件很大,我们无法合理地做到这一点,所以我希望有一种方法来保存它。我们尝试过以Unicode和ASCII格式导出,但没有用。我们也试过上传到google docs,然后重新保存,然而,它也会破坏这些字符。

Advertisement

答案 (13)

12
12
12
2013-08-29 19:11:05 +0000

确保你选择保存为CSV (Comma Delimited)而不是CSV (MS-DOS),因为DOS不支持UTF-8字符。

6
6
6
2012-10-30 00:40:31 +0000

我发现,丢失字符的问题只发生在从xlsx格式保存到csv格式时(在我的情况下)。我试过先将xlsx文件保存为xls,然后再保存为csv。它实际上是工作的。

4
Advertisement
4
4
2013-09-04 20:46:55 +0000

一个可能的变通方法是将其保存为Unicode Text (2007年有,不确定以前的版本),将其保存为一个标签分隔的文本文件。

这个文件保留了我的unicode字符(在我的例子中我在处理亚洲字符),同时生成了某种分隔的文本文件,如果需要的话,你可以通过外部工具将其转换为csv。

我的输入没有在每个单元格中嵌入制表符,但是,我不知道该如何处理。

3
3
3
2013-12-19 21:37:59 +0000

以下是我的工作方法。

1.在Excel或CSV中进行数据修正 2. 将文件保存为Unicode文本 3。打开NOTEPAD 4. 用NOTEPAD打开你刚刚保存的Unicode文件 5. 使用光标高亮一个空白区域,该区域有一个单一的标签5a。使用Acquire Id和Request Type之间的空格,因为这里只有一个TAB! 6. 6. 输入Cnrl-C复制Tab字符 7. 输入Cnlr-H打开替换功能框 8. 在 “查找什么 "文本框中点击并输入Cnlr-V粘贴Tab 9. 单击 "用文本替换 "框中,键入逗号 10. 单击 "替换 "测试一次。确认文件中的制表符被替换为逗号 11. 单击 "全部替换 ” 12. 单击 “取消 ” 13. 保存文件并退出 14. 在Windows资源管理器中,将文件扩展名改为.csv。

3
Advertisement
3
3
2016-01-14 15:29:13 +0000

我遇到这个问题有一段时间了,终于花了一些时间把它弄明白了!我能够(似乎)通过保存为 “Windows逗号分隔(.csv)"来解决这个问题。我能够(似乎)通过保存为 "Windows逗号分隔(.csv)"来解决这个问题。我试过从一个.xlsx和一个.xls,都转换为.csv就好了。希望这能帮到你–如果这个方法出现任何问题,请告诉我。如果我在接下来的几周内看到了什么,我会向你报告。

1
1
1
2016-05-06 09:03:48 +0000
1
Advertisement
1
1
2016-08-02 10:18:07 +0000

解决方法:

1:

1.在记事本中打开你的CSV文件(你会注意到上面写着ANSI),然后在记事本中重新保存为UTF-8。

  1. 然后导入就可以了。然而,如果你在Excel中再次打开它并保存,它将无法工作,因为Excel显然不能以UTF-8进行本地编码。

  2. 另一个选择是在www.LibreOffice.org(免费)中使用你的CSV文件,它可以在UTF-8中正确编码(虽然我自己还没有尝试过)。

我在将带分数的产品csv导入WooCommerce时也遇到了类似的问题,因为"?"错误字符而被拒绝。这是因为CSV文件没有用UTF-8编码。HOWEVER,即使将CSV文件用UTF-8编码保存在Excel中,仍然无法使用。

经过在多个论坛的抓取,发现虽然Excel给出了UTF-8编码的选项–当SAVING AS A CSV时,即使你选择了UTF-8,Excel也会自动将其转换回ANSI。

0
0
0
2018-02-01 13:48:54 +0000

对于™,我找到了一个解决方案。在.xlsx文件中,用"&tr-ade; “替换所有"™"。将文件保存为.csv,就可以了。希望对你有用。

0
Advertisement
0
0
2018-03-07 16:11:22 +0000

在Mac电脑上,这是我的工作原理。

在excel上选择save as,然后从下拉菜单中选择windows逗号分隔(CSV)。

这就好用了!!!。

0
0
0
2020-01-10 13:45:18 +0000

像Techie007上面提到的那样保存为CSV(逗号分隔),可以正确地捕获大多数国际字符;但是,我还是遇到了一些问题,包括Ł、ć和ń(可能还有其他字符)。

我有些惊讶地看到,EXCEL VBA函数ASC分别返回与L、c、n这些国际字符相关的ascii码。我有些不满意的做法是写了一个简短的宏,将所有的字符转换后再保存出到.csv中。[注:对于绝大多数常见的国际字符,如é或á,使用ASC就可以了。]

0
Advertisement
0
0
2015-07-21 13:41:23 +0000

当我以.csv格式下载日语术语时,也遇到了特殊字符的问题,但当我以文本格式(Tab分隔)保存.csv文件时,日语字符的填充非常完美。然后,我只是从文本文件中复制数据并粘贴到电子表格中。效果很好!!!!!!!!!!!!!!!!!!!!)。

谢谢,Vaishakh。

0
0
0
2014-06-25 11:47:47 +0000

找到了最好的解决方案。* http://woshka.com/blog/microsoft/microsoft-excel/solve-the-problem-saving-excel-csv-format-with-utf-8-unicode-encoding.html **

从链接中:

1-点击开始菜单

2-选择控制面板

3-在经典模式下找到区域和语言选项,或者在控制面板窗口右上方的搜索栏中输入其名称

4-点击高级选项卡,然后点击locales

5-点击波斯语或阿拉伯语或你想要的UTF-08编码程序,并将其保存到CSV中。

0
Advertisement
0
0
2018-05-30 14:20:21 +0000

保存为unicode 将unicode文件重命名为.csv https://www.youtube.com/watch?v=1VP8__shxTg ) 。

Advertisement