当我声明为UTF-8时,为什么我不能在我的XML输出中使用Ñ?

Tim*_*Tim 4 java unicode utf-8 iso-8859-1 character-encoding

我的Z/OS DB2数据库中有'N Tilde'字符.我正在从数据生成一个xml文件.在我有的XML中encoding=UTF-8,但是Internet Explorer给了我错误Illegal character in text field.如果我将编码更改为ISO-8859-1,它可以正常工作.

我认为ISO-8859-1是UTF-8的一个子集,那为什么它不适用于UTF-8?

UTF-8最适合XML文档吗?

Joa*_*uer 9

ISO-8859-1 不是 UTF-8的子集.它可以表示UTF-8中可表示的字符的子集,但它不会以相同的方式表示.

ISO-8859-1和UTF-8都是ASCII的超集(即它们可以表示ASCII可以表示的所有字符,它们以相同的方式表示它们).

因此,您不能将ISO-8859-1数据标记为UTF-8并希望它可以正常工作,您需要将您的数据实际存储(或转换)为UTF-8.