我正在使用批处理文件来运行sqlcmd(Sql server 2008),后者又运行各种sql脚本。 sql脚本将亚洲和英文字符插入数据库。我遇到的问题是 亚洲字符出现乱码(英语出来没问题。)当我手动运行中文字符脚本时,它们运行正常。有谁知道如何解决这个问题?
答案 0 :(得分:0)
你究竟是如何使用这些文件的?如果你现在这样做
sqlcmd ... < input.sql
然后考虑将控制台窗口的字体更改为TrueType字体或将其更改为
sqlcmd ... -i input.sql
我猜这些字符在仅支持OEM字符集的控制台中重定向时会出现乱码。
答案 1 :(得分:0)
这可能为时已晚,无法解决您的问题,但我遇到了类似的问题。我的解决方案是通过'-f'命令行参数为sqlcmd提供一个显式代码页:
sqlcmd ... -i input.sql -f 65001
65001是UTF-8的代码页。您需要确保使用此代码页实际保存文件,您可以在Visual Studio中执行此操作:
Try this:
1. Open your file in Visual Studio.
2. From the File menu, choose Advanced Save Options.
3. Select this encoding:
Unicode (UTF-8 without signature) – Codepage 65001
4. Save the file.
(引自blog post comment,它给了我足够的信息来拼凑解决方案。)