首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >插入XML字符串时出错:一般错误:在<?xml version="1.0“附近有102个不正确的语法

插入XML字符串时出错:一般错误:在<?xml version="1.0“附近有102个不正确的语法
EN

Stack Overflow用户
提问于 2020-04-18 18:15:52
回答 1查看 168关注 0票数 0

我试图从PHP将XML字符串插入到MSSQL数据库中。我得到:

SQLSTATEHY000:一般错误:102个不正确的语法在“附近”(下面是xml块)。

准备好的陈述如下:

代码语言:javascript
复制
$stmt = $this->db->prepare('
   INSERT INTO [System_XmlExchangeImport] ([Create_ID], [ImportCode], [InputXml]) 
   VALUES (?, ?, ?);
');
$result = $stmt->execute(array('ABCDEFGHKAJSDKLJ', $code, $xml));

$xml是一个有效的XML字符串。可以在SQL客户端应用程序(sqlectron)中使用相同的语句插入相同的XML。

我不知道下一步该怎么办。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-27 11:33:29

这个问题是由编码引起的。XML用Windows-1250编码,但数据库连接用UTF-8字符集打开:

代码语言:javascript
复制
$connString = "dblib:version=7.0;host=$dbIp:$dbPort;dbname=$dbName;charset=UTF-8;";
$this->db = new PDO($connString, $dbUser, $dbPass);

在DSN ( UTF-8 )中将UTF-8更改为WINDOWS-1250之后:

代码语言:javascript
复制
$connString = "dblib:version=7.0;host=$dbIp:$dbPort;dbname=$dbName;charset=WINDOWS-1250;";

可以毫无问题地插入XML。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61294015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档