Cmd.exe输出中文

时间:2016-02-09 09:01:43

标签: batch-file logging cmd sqlcmd

我的批处理文件开始用中文将输出写入日志文件。 代码:

echo ============= >> D:\path\file.log
echo. >> D:\path\file.log
echo. >> D:\path\file.log
echo Import new data to table %date% D:\path\file.log
sqlcmd -S (local)\sqlexpress -E -d DB_Name -Q "exit(exec[dbo].[StoredProcedure])" >> D:\path\file.log

它工作了好几个月,突然间它开始以奇怪的格式编写整个输出,如下所示:

 㴽㴽㴽㴽㴽㴽‽਍ഠ ਍浉潰瑲渠睥搠瑡⁡潴匠䍒剟䵅䑅彙䅒⁗慴汢⁥㤰〯⼲〲㘱ഠ ਍㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽㴽਍ഠ刊浥摥⁹慄慴䰠湡楤杮娠湯㩥਍਍㐨㌶㔰爠睯⁳晡敦瑣摥ഩ

我看到了this相关问题,但据我了解,它引用了一个特定的命令问题。我很感激你的帮助。

编辑: 从头开始创建批处理文件后,问题就消失了。还是不知道是什么问题。

2 个答案:

答案 0 :(得分:0)

请在检查日志后再次通过命令更改语言并再次写入日志。

EXEC sp_configure 'default language', 23 RECONFIGURE

答案 1 :(得分:0)

在我的情况下,解决方案只是重新创建批处理文件和日志文件。确保以正确的编码格式保存文件。

编辑: 经过一番调查后,我发现清除我曾经使用过的日志文件(删除一些行)的脚本必须将编码更改为UCS-2 Little Endian。