Notepad ++文档标记为utf-16但具有utf-8内容

时间:2014-01-30 16:00:38

标签: xsd

当我在notepad ++中验证我的xsd时,我收到此错误消息文件标记为utf-16但具有utf-8内容。可能是什么原因 ?这是我的xsd:

<?xml version="1.0" encoding="utf-16"?>
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="Member">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="Request">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element name="Transaction">
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element name="Number" type="xsd:int" />
                    <xsd:element name="DateTime" type="xsd:decimal" />
                    <xsd:element name="TestIndicator" type="xsd:string" />
                  </xsd:sequence>
                </xsd:complexType>
              </xsd:element>
              <xsd:element name="Membership">
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element name="MembershipNumber" type="xsd:int" />
                  </xsd:sequence>
                </xsd:complexType>
              </xsd:element>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
      <xsd:attribute name="xs:schemaLocation" type="xsd:string" />
    </xsd:complexType>
  </xsd:element>
</xsd:schema>

2 个答案:

答案 0 :(得分:0)

将编码行更改为读取utf-8而不是utf-16(xml文件的顶部)。

答案 1 :(得分:0)

Notepad ++问题跟踪器中打开了一个类似错误:https://sourceforge.net/p/npp-plugins/bugs/166/

可能是您的文件具有与标头匹配的编码,但是XML插件显示了错误的错误。

检查Notepad ++是否在其状态栏中显示UCS-2(UTF-16是UCS-2的扩展)。如果存在,就可以了,因为您的文件中显然只有ASCII 7位ASCII字符。