Cmd.exe 输出中文

Cmd.exe output in Chinese

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

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 相关问题,但据我所知,它指的是一个特定的命令问题。非常感谢您的帮助。


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

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

EXEC sp_configure 'default language', 23 RECONFIGURE

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

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