我有一个包含一些信息的XML文件,我已经制作了一个vbscript来替换这个XML文件的信息。它工作正常,我的问题是特殊字符,例如:
<string name="information_1">ÁÉÍÓÚ</string>
我的vbscript读了它,我的脚本尝试将<string>
标记的内容放到textFile:
@echo off
for /f "tokens=*" %%a in ('cscript //nologo readXML.vbs') do (echo/%%a>>textFile.txt)
textFile的内容现在为:µÖàé
有没有办法使用echo将ÁÉÍÓÚ放到文本文件中?
答案 0 :(得分:2)
文件不包含“字符”(字母/符号/字形/图像,看起来像A或Z),但不包含数字。显示这些数字的(人员配置)代理决定encoding(数字到字母/符号/字形/图像的映射)。
请参阅:
chcp
Active code page: 850
echo ÁÉÍÓÚ >0.txt
debug 0.txt
-d 100
0BFA:0100 B5 90 D6 E0 E9 20 0D 0A-E4 75 21 8A F0 2E A1 58 <-- these numbers never change
type 0.txt
ÁÉÍÓÚ <-- 850 glyphs for those numbers
chcp 1256
Active code page: 1256
type 0.txt
µگضàé <-- 1256 glyphs for those numbers
确定您想要/必须使用的编码方案,然后正确配置您的显示工具(控制台,编辑器,浏览器......)。
答案 1 :(得分:1)
试试这个:
创建一个名为Char.txt
的文本文件,并将ÁÉÍÓÚ
放入文本文件中。确保文本文件与批处理文件位于同一文件夹中。
@echo off
SetLocal EnableDelayedExpansion
for /f "delims=" %%x in ('type Char.txt) do (
set "Var=%%x"
ECHO !Var!>>textFile.txt
)
echo Done
pause
这将显示Char.txt
并将其回显给textFile.txt
。我不认为有任何其他方式,因为CMD spites认为它不知道。
答案 2 :(得分:0)
我怀疑您需要以Unicode友好的方式启动CMD.EXE( CMD.EXE / U / C&lt; script&gt; )