使用Powershell命令转换文本文件的编码格式。
这几天在研究如何直接在access里生成xml格式的报文,以便于发送报关单报文,采用了【Access小品】半步崩拳--导出自定义格式的XML文件(todaynew) 的思路,直接写入TXT格式文件里,但由于默认生成的文件都是ANSI编码,而XML报文要求是UTF-8,在网上搜了一下,找到了一个shell 命令Powershell,可以很简单的进行编码转换。
? 命令格式如下:
PowerShell -Command "& {get-content filename1 -encoding default | set-content filename2 -encoding utf8}"
在VB 代码里直接 shell 调用即可,例如:我需要把1.XML 转换格式为UTF-8 生成2.xml
Dim shell_Command as string
shell_Command = "PowerShell -Command " & Chr(34) & Chr(38) & " {get-content C:\1.xml -encoding default | set-content C:\2.xml -encoding utf8}" & Chr(34)
shell(shell_Command)
注意 命令行里的 " 和 & 要是用 Chr(ACII 码) 转换下,还有文件名的目录如果过很长,要获取短文件名才能调用成功。