读书人

osql执行SQL脚本内容包含中文时出现乱

发布时间: 2013-02-24 17:58:56 作者: rapoo

osql执行SQL脚本内容包含中文时出现乱码问题的解决办法

本机环境:Windows2003 + SQL2008R2 + 包含中文的SQL脚本文件

经验小结:SQL脚本文件编码最好是存成GB2312的,而不是UTF-8

开始--运行--CMD

C:\Documents and Settings\Administrator>

osql -U sa -P 123456 -S 192.168.1.28 -d testdb -r -e -i "C:\sp_Insert_User.sql" -o "c:\ErrorInfo.txt"

出现一堆错误:

1> 2> 3> [SQL Server Native Client 10.0]COUNT 字段不正确或语法错误
锘?-濡瀛杩宸插ㄥ?if exists


解决办法:
运行SQL Server Management Studio后打开"C:\sp_Insert_User.sql"SQL脚本文件,选择“另存为”编码为GB2312。

重新运行OSQL命令
C:\Documents and Settings\Administrator>

osql -U sa -P 123456 -S 192.168.1.28 -d testdb -r -e -i "C:\sp_Insert_User.sql" -o "c:\ErrorInfo.txt"

运行成功

其它解决办法如"改变MS-DOS代码页"尝试过不起作用:

C:\Documents and Settings\Administrator>chcp 936

C:\Documents and Settings\Administrator>chcp 65001

读书人网 >操作系统

热点推荐