首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何批量保存csv文件的UTF-8?

如何批量保存csv文件的UTF-8?
EN

Stack Overflow用户
提问于 2019-04-30 16:36:28
回答 2查看 899关注 0票数 0

嗨Stackoverflow社区!

我有一些值为"{Null}“和"Null”的.csv文件。我使用一个带有PowerShell函数批处理文件(.cmd)将这些值替换为"“。问题是输出文件具有与输入文件(UTF-8)不同的编码(utf-16le)。有没有办法保留原始编码?

代码语言:javascript
运行
复制
powershell -Command "(gc myfile.csv) -replace '{NULL}', '' | Out-File myfile_replaced.csv"

我试图找到一个解决方案,并了解到,记事本默认使用UTF-16le编码。从理论上讲,我可以更改Notepad++的编码,但这不是一个选项,因为代码应该与其他人共享。

这应该是批量实现的,否则我可以手动搜索和替换这些值。

EN

回答 2

Stack Overflow用户

发布于 2019-04-30 18:47:53

Out-File支持使用-Encoding作为参数。对于写入文件的各种其他cmdlet(例如Export-Csv)也是如此。

根据文档:

-Encoding

指定导出的CSV文件的编码。默认值为UTF8NoBOM。

此参数的可接受值如下:

使用大端字节顺序的UTF-16格式的set.

  • BigEndianUnicode:编码的
  • set.
  • BigEndianUnicode::使用小端字节顺序的UTF-16格式的programs.
  • Unicode:编码。
  • UTF7:使用UTF-8 ASCII编码的UTF-8 ASCII编码(BOM)
  • UTF8NoBOM:以UTF-8格式编码,不带字节顺序标记
  • UTF32:以UTF-32格式编码。

从Windows6.2开始,Encoding参数还允许注册代码页的数字ID(如Windows1251)或注册代码页的字符串名称(如-Encoding“-Encoding -1251”)。有关详细信息,请参阅Encoding.CodePage的.NET文档。

票数 0
EN

Stack Overflow用户

发布于 2019-04-30 20:34:10

不幸的是,输出文件或">“或">>”缺省为"unicode“或utf16编码。您甚至可以在同一个文件中使用">>“或"out-file -append”混合两种编码。您可以使用set-content或"out-file -encoding utf8“。实际设置内容默认为ansi编码。但是没有特殊字符,它将与utf8相同(没有bom),或者您也可以将-encoding选项与set-content一起使用。记事本默认为ansi,但即使没有bom或编码签名,也可以识别utf8或unicode。

代码语言:javascript
运行
复制
powershell -Command "(gc myfile.csv) -replace '{NULL}', '' | set-content myfile_replaced.csv"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55916930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档