Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 将字符串从一种编码转换为另一种编码_Xml_Ms Access_Vba - Fatal编程技术网

Xml 将字符串从一种编码转换为另一种编码

Xml 将字符串从一种编码转换为另一种编码,xml,ms-access,vba,Xml,Ms Access,Vba,我已经生成了一个xml文档,作为一个文本文件,声明它应该编码为UTF-8。当我检查是否符合模式时,它会报告文件中存在非法字符 An invalid character was found in text content. 可疑字符的单字节值为0x92 在visual basic中,我使用类型为DOMDocument60的变量dom;然后执行以下操作 Set nod = dom.createElement("dc.description") nod.text = Trim$(Nz(rs!mDes

我已经生成了一个xml文档,作为一个文本文件,声明它应该编码为
UTF-8
。当我检查是否符合模式时,它会报告文件中存在非法字符

An invalid character was found in text content.
可疑字符的单字节值为
0x92

在visual basic中,我使用类型为
DOMDocument60
的变量
dom
;然后执行以下操作

Set nod = dom.createElement("dc.description")
nod.text = Trim$(Nz(rs!mDescription, ""))
这就是错误的来源。我有一种感觉,我需要进行字符集转换,以便将可疑字符正确编码为utf-8

我的具体问题是:

1) 我的出发点是什么字符集?该字符串来自access-2010数据库(备忘录类型)

2) 如何将其转换为
UTF-8


我不知道该怎么做。我对VBA不是很熟悉。

引起你悲伤的角色被称为聪明引语或卷曲引语。看起来是这样的:'

这个问题实际上与访问无关,只是您必须在Access/VBA中找到一种方法来处理它。无论出于何种原因,您的XML包含无效的XML字符

我可以想出两个选择。第一个选项是用标准的非智能引号替换字符。下面是一些非优雅的代码,可以一次快速替换所有四种可能的智能引用:

Replace(Replace(Replace(Replace(MyString, Chr(147), Chr(34)), Chr(148), Chr(34)), Chr(145), Chr(39)), Chr(146), Chr(39))
第二个选项是使用适当的XML/HTML字符代码替换有问题的字符(假设您确实需要),对于您遇到问题的特定字符,该代码是:

’

您可以考虑在输入数据上运行替换,以便从开始时存储有效字符。

谢谢HK1。我用了你的第二个建议。我还有一些其他字符不属于
UTF-8
,并对它们进行了适当的转换。谢谢你忽略了我所认为的问题。非常有用。