Batch file 批处理文件:将导出的文本文件另存为编码utf-8

Batch file 批处理文件:将导出的文本文件另存为编码utf-8,batch-file,cmd,Batch File,Cmd,我创建了一个批处理文件,以便从我使用的软件中导出一些数据。它导出数据并以文本格式保存数据。这正是我需要它做的,但问题是导出文本文件的编码保存为ANSI。我需要把它保存在一个utf-8_箱中。这是因为我需要将其导入MySQL。MySQL的模式是utf-8_-bin 以下是批处理文件: START /WAIT ksexport.exe /NOP /NODISPLAY Type=SA File=xprt\Sle\SInv.txt File2=xprt\Sle\SInvDtl.txt Tab=on St

我创建了一个批处理文件,以便从我使用的软件中导出一些数据。它导出数据并以文本格式保存数据。这正是我需要它做的,但问题是导出文本文件的编码保存为ANSI。我需要把它保存在一个utf-8_箱中。这是因为我需要将其导入MySQL。MySQL的模式是utf-8_-bin

以下是批处理文件:

START /WAIT ksexport.exe /NOP /NODISPLAY Type=SA File=xprt\Sle\SInv.txt File2=xprt\Sle\SInvDtl.txt Tab=on Start=01/01/01 End=01/30/17
尝试使用CMD.EXE/U,即:

U使CMD.EXE输出Unicode文本。但我不确定这是否会影响KSEXPORT.EXE的输出


或者,使用PowerShell-

也许您可以在批处理脚本中尝试以下操作:

@ECHO OFF
:: Make sure that your batch file is in "UTF-8 without BOM" encoding
:: Notepad++ have the ability to change the file encoding

:: Then, change the codepage in your script:
CHCP 65001

:: And now, you can export your data without problems
START /WAIT ksexport.exe /NOP /NODISPLAY Type=SA File=xprt\Sle\SInv.txt File2=xprt\Sle\SInvDtl.txt Tab=on Start=01/01/01 End=01/30/17

::EOF

可能会有帮助。您的问题不清楚是ksexport您的软件还是第三方。如果你写信,有办法得到你需要的东西。如果是已知的,您可能需要添加一些标签来吸引软件专家。至于第一个选项,您可能有兴趣阅读。或者您可以只使用二进制IORead cmd/?帮助:/U使管道或文件的内部命令输出为Unicode。开始/等待%COMSPEC%/U/C ksexport.exe。。。。。。。。没用。你认为ANSI和utf-8一样好吗。我之所以需要utf-8_bin是因为我在mysql中的模式是utf-8。我是应该在mysql中将unicode改为ANSI,还是您认为我将来会在mysql中遇到问题。
@ECHO OFF
:: Make sure that your batch file is in "UTF-8 without BOM" encoding
:: Notepad++ have the ability to change the file encoding

:: Then, change the codepage in your script:
CHCP 65001

:: And now, you can export your data without problems
START /WAIT ksexport.exe /NOP /NODISPLAY Type=SA File=xprt\Sle\SInv.txt File2=xprt\Sle\SInvDtl.txt Tab=on Start=01/01/01 End=01/30/17

::EOF