我有一个非常简单,狡猾的问题,但我无法在任何地方找到答案,我需要对此非常肯定。
我有来自不同供应商的各种XML文件。其中一个供应商为我提供了一个包含日文字符的XML文件。最初,我在处理XML文件时遇到问题(我正在使用MSXML SDK)。角色会出错。我发现如果将以下内容添加到XML文件中,一切都很顺利。
<?xml version="1.0" encoding="UTF-16"?>
所以我要求供应商将其添加到他们的文件中。但是他们用小写的编码添加了它:
<?xml version="1.0" encoding="utf-16"?>
当我加载这个新文件时,使用此声明,我遇到了与此声明不存在时相同的问题。
我想弄清楚(肯定的)是编码属性是否区分大小写(或者是其他问题)。 他们把“utf-16”与“UTF-16”相比是否重要?
更新:在这些发布答案的人的建议下,我设置并执行了测试。一个文件的小写字母为utf-16,另一个大写字母。除此之外,文件是相同的。 这不能解决问题并且不是问题。我的结论是,MSXML不区分大小写,因为发布在答案中的规范说明了这一点。
答案 0 :(得分:11)
我认为问题不是“ standrard 区分大小写吗?”但“ MSXML SDK 中的编码是否区分大小写?”
来自bytes.com:
XML规范说处理器“应该”匹配编码名称 不区分大小写。 “SHOULD”是一个技术术语,不如说强 “必须”,但我看不出处理器不这样做的原因。
然而,我们知道在实践中这可能并非总是如此。如果你可以并排尝试,请这样做,让我们知道结果是什么。
答案 1 :(得分:10)