当你保存EXCEL数据到CSV格式,不幸的是它与import-csv的默认编码不匹配。所以当你使用Import将CSV文件导入Powershell,特殊字符串将变成乱码,无论你指定哪个编码。
这里有个从EXCEL转换过来名为list.csv的文件,且里面包涵特殊字符串。如果你使用默认编码,特殊字符串将变成乱码并且无论你怎么指定-ENCODING特殊字符串都无法回到最初的状态:
当你仿照import-csv用下面方法操作,它居然成功了。
结论,正确的读取CSV文件,你必须加上在encoding后明确的加上”Default”(巧合的是不加上default将会发生问题,当你不指定编码时似乎不知道使用的什么编码):
原文地址:Fixing Encoding for Excel CSV
本文链接: https://www.pstips.net/fixing-encoding-for-excel-csv.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
Console 还是 GBK 啊,转不成 GBK 的编码还是白搭
你说的已经变成另外一个问题了。其实这里主要问题是import-csv的编码识别能力没有Get-Content强,默认参数本应的做更多的事,结果它没有,还得用户显示指定Default。PS> Get-Content .test.csvName,AgeMosser 云,23J 陈,99帅哥,10PS> import-csv .test.csv Name Age—- —Mosser �� 23J �� 99˧�� 10PS> import-csv .test.csv -Encoding Default Name Age—- —Mosser 云 23J 陈 99帅哥 10
菲已经解释了。