Batch file VIM-转换字符编码的Bat
我有一个从谷歌硬盘下载的.csv文件,它的编码不识别重音字符(西班牙语字符) 使用VIM editor for Windows,我可以通过打开文件(VIM西班牙语.csv),然后在文件类型内解决此问题Batch file VIM-转换字符编码的Bat,batch-file,csv,vim,encoding,character-encoding,Batch File,Csv,Vim,Encoding,Character Encoding,我有一个从谷歌硬盘下载的.csv文件,它的编码不识别重音字符(西班牙语字符) 使用VIM editor for Windows,我可以通过打开文件(VIM西班牙语.csv),然后在文件类型内解决此问题 :write ++enc=utf-16 spanish-2.csv 现在我需要创建一个.bat或.ps1来自动为我做这件事。我该怎么做 p.D.:我试过使用iconv,但我无法转换从Google Drive下载的文件,因为我不知道它是如何编码的。我试过: iconv -f ANSI:X3.4-
:write ++enc=utf-16 spanish-2.csv
现在我需要创建一个.bat或.ps1来自动为我做这件事。我该怎么做
p.D.:我试过使用iconv,但我无法转换从Google Drive下载的文件,因为我不知道它是如何编码的。我试过:
iconv -f ANSI:X3.4-1968 -t UTF-8 spanish.csv > spanish-2.csv
iconv -f ANSI:X3.4-1986 -t UTF-8 spanish.csv > spanish-2.csv
iconv -f ASCII -t UTF-8 spanish.csv > spanish-2.csv
和许多其他编码,但它表示文件无法转换。找出编码
当您在Vim中打开spanish.csv
源文件时
:setlocal fileencoding?
应该告诉您检测到的编码。还有第三方工具,如enca
,可以执行此检测。然后,您可能只需要将编码名称转换为iconv
所期望的格式
变身
您也可以直接使用Vim进行转换;可以通过-c{cmd}
在命令行上指定Ex命令:
vim -c "write ++enc=utf-16 spanish-2.csv" -c "quit" spanish.csv
通过使用
:argdo
,以及文件名%:r-2.%:e
,您甚至可以将多个源文件传递到单个Vim实例进行转换。先生,您让我开心了一天。非常感谢你。。“vim-c”write++enc=utf-16西班牙语-2.csv“-c”退出“西班牙语.csv”完成了工作