ms sql 2000读xml字符串时不支持中文内容

ljfwarrior 2006-09-14 09:20:42
在查询分析器中运行以下语句:
DECLARE @idoc int
DECLARE @doc varchar(1000)
SET @doc =
'
<root>
<qy>
<city>南海/city>
</qy>
</root>'
EXEC sp_xml_preparedocument @idoc OUTPUT, @doc
SELECT *
FROM OPENXML (@idoc, '/root/qy',2)
WITH (city varchar(10))

-----------------出现下面错误错误:
服务器: 消息 6603,级别 16,状态 1,过程 sp_xml_preparedocument,行 13
XML 分析错误: 文本内容中发现无效字符。



-----换成这样就正常

DECLARE @idoc int
DECLARE @doc varchar(1000)
SET @doc =
'
<root>
<qy>
<city>NH/city>
</qy>
</root>'
EXEC sp_xml_preparedocument @idoc OUTPUT, @doc
SELECT *
FROM OPENXML (@idoc, '/root/qy',2)
WITH (city varchar(10))


请高手指教,怎样才能读到中文字符
...全文
146 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Well 2006-09-15
  • 打赏
  • 举报
回复


DECLARE @idoc int
DECLARE @doc nvarchar(1000)
set @doc=N'<root><qy><city>南海</city></qy></root>'
EXEC sp_xml_preparedocument @idoc OUTPUT, @doc
SELECT *
FROM OPENXML (@idoc, '/root/qy',2)
WITH (city varchar(10))
这样是正确的,


DECLARE @idoc int
DECLARE @doc varchar(1000)
set @doc=N'<root><qy><city>南海</city></qy></root>'
EXEC sp_xml_preparedocument @idoc OUTPUT, @doc
SELECT *
FROM OPENXML (@idoc, '/root/qy',2)
WITH (city varchar(10))
这是错误的,因为有中文字符就要定义nvarchar类型
Well 2006-09-15
  • 打赏
  • 举报
回复
DECLARE @idoc int
DECLARE @doc varchar(1000)

EXEC sp_xml_preparedocument @idoc OUTPUT, N'<root><qy><city>南海</city></qy></root>'
SELECT *
FROM OPENXML (@idoc, '/root/qy',2)
WITH (city varchar(10))
这样就OK,因为有可能是乱吗,字符前要加N
zhenmeiyisi 2006-09-14
  • 打赏
  • 举报
回复
1.
DECLARE @idoc int
DECLARE @doc nvarchar(1000) ----------------------------这里
SET @doc ='<root><qy><city>南海</city></qy></root>'
EXEC sp_xml_preparedocument @idoc OUTPUT, @doc
SELECT *
FROM OPENXML (@idoc, '/root/qy',2)
WITH (city varchar(10))

--南海city> 改成 南海</city>


2.这个<city>NH/city> 改成 <city>NH</city>
公文传输系统 公文传输系统示例源码的目录结构介绍 /GWCS: 案例项目工程源码。 /database: 案例数据库文件。 公文传输系统的安装配置介绍 运行环境: 1 Java平台选择JDK 6.0或更高版本。 2 Web服务器选择Tomcat 5.0或更高版本。 3 数据库服务器选择MS-SQLserver2000或更高版本。 数据库配置步骤: 1 安装MS-SQLserver服务器 2 还原表结构 运行gwcs_ddl.sql文件还原数据库表结构 3 还原表的示例数据 运行gwcs_dml.sql文件还原数据库表的示例数据 Web应用程序配置步骤: 安装MyEclipse开发工具,将GWCS工程导入 1 修改配置文件 1.1 修改Spring配置文件 1.1.1 查找并打开GWCS/WebRoot/WEB-INF/applicationContext.xml文件。 1.1.2 数据库配置 找到“dataSource”定义部分,根据实际情况修改数据库连接属性值,比如连接字符串url、用户名uername和密码password等。 1.1.3 文件上传路径配置 找到“uploadPath”定义部分,根据系统的发布路径来修改文件的上传路径。 1.1.4 保存修改文件。 1.2 修改Velocity配置文件 1.2.1 查找并打开GWCS/WebRoot/WEB-INF/velocity.properties文件。 1.2.2 修改字符集配置 input.encoding = GBK output.encoding = GBK 1.2.3 保存修改文件。 2 发布运行 Tomcat服务器默认安装后使用8080端口,打开浏览器输入以下URL地址访问公文传输系统。 http://localhost:8080/GWCS/index.jsp 注意:如果改变Tomcat服务器端口,访问地址也要相应变更。 管理员用户名: admin 管理员密码: 111111

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧