我有一个ASP Access数据库,其中包含各种欧洲语言的字符串。数据库之前由各个国家的代理人填写。它包含带有重音等字符的条目,如您所期望的那样。如果我用MS Access打开数据库,这些字符显示正常。例如,德国的“Open”等价物显示为“Öffnen”(希望您可以看到一个“O”,上面有两个点!)。带拉丁字符的数据库内容的XML编码
我有ASP代码读取数据库并返回XML中的记录。该文本传递给XMLEncode来构造XML,但似乎只处理“<”,“&”等5个特殊项。如果我转储XML,则重音字符保持不变。
<English>Open</English>
<German>Öffnen</German>
如果我看使用Wireshark的原始数据包我看到“O”字节是十六进制D6,这似乎是它的十进制Unicode和ISO 8859值。
当我尝试解析客户端JS中的XML时,问题就开始了。我得到:
"An invalid character was found in text content"
from IE。 FF和Chrome高兴地接受XML而不会打嗝,但浏览器将“Ö”字样显示为内部带有问号的钻石。
http://www.validome.org/xml/validate/报告“编码错误”。
http://www.w3schools.com/dom/dom_validate.asp认为它很好。
XML是UTF-8编码的。
我需要做些什么才能让IE在不投诉的情况下接受我的XML?
我需要做些什么才能让浏览器正确显示内容?
您是否尝试将xml编码从'utf-8'改为'ISO 8859-1'? – Amarghosh 2010-05-28 04:42:29
IE报告“系统不支持指定的编码,错误处理资源”。我在XML文件中改变了它:<?xml version =“1.0”encoding =“ISO 8859-1”?>和ASP响应:Response.ContentType =“text/xml; charset = ISO 8859-1”; ...对? – rossmcm 2010-05-28 05:07:43