哪些是有效的xml编码字符串?例如,指定UTF-8的方式是什么:
encoding="utf8"
encoding="utf8"
或Windows 1251:
encoding="windows-1251"
encoding="windows1251"
encoding="cp-1251"
我正在创建一个字符解码器以及一个xml解析器。因此,我需要能够根据encoding属性中的值设置StreamReader的编码。
我能找到官方编码字符串列表的任何想法吗?
我能找到的最好的是this,但它似乎是IE特定的。
谢谢!
答案 0 :(得分:7)
如果全部失败,请阅读规范: - )。
4.3.3实体中的字符编码
XML中的每个外部解析实体 文档可能使用不同的编码 因为它的角色。
[...]
在编码声明中,值 “UTF-8”,“UTF-16”,“ ISO-10646-UCS-2“和” ISO-10646-UCS-4“应该用于 各种编码和 Unicode / ISO / IEC的转换 10646,值“ISO-8859-1”,“ ISO-8859-2“,......”ISO-8859- n“ (其中n是部件号)应该是 用于ISO 8859的部件,和 值“ISO-2022-JP”,“ Shift_JIS“和”EUC-JP“应该是 用于各种编码形式 JIS X-0208-1997。
推荐 该字符编码已注册 (作为charsets)与互联网 指定号码管理局 IANA-CHARSETS,除了那些 列出,使用他们的 注册名称;其他编码 应该使用以“x-”开头的名称 前缀。
来源:http://www.w3.org/TR/REC-xml/
所以UTF-8写成encoding="UTF-8"
。
对于上面未列出的其他字符集,请使用IANA character set list中提供的名称。
字符集名称中的字母不重要:“然而,没有区别
在使用大写和小写字母之间。“(IANA字符集列表)。所以你也可以写
encoding="uTf-8"
如果您愿意的话; - )。
BTW:你真的,确实确定你想要编写自己的XML解析器吗?这听起来像是重新发明轮子。
答案 1 :(得分:3)
<?xml version="1.0" encoding="utf-8"?>
对于utf-8应该没问题。
答案 2 :(得分:0)
使用命令locale -A查看所有编码: http://dwbitechguru.blogspot.ca/2014/07/check-foreign-characters-support-on.html
选项A: 要使用以下标记添加编码:
您可以使用XML spy编辑dtd中的编码属性。
相关链接: http://dwbitechguru.blogspot.ca/2014/07/issue-xml-reader-error.html