如何使用UTF-8编码正确地转义XML中的国际字符?

时间:2011-10-28 14:44:30

标签: javascript xml utf-8

目前我使用Javascript生成XML,编码设置为UTF-8,我们遇到的情况是我们偶尔会在XML中出现一些国际字符。例如:

<?xml version="1.0" encoding="UTF-8"?>
<example>
      <comments><![CDATA[Hola. Mi nombre es Pat. ¿Cómo puedo ayudarle?]]></comments>
</example>

在浏览器中打开时,保留这样的国际字符会给我们带来编码错误。将XML编码更改为ISO标准可以解决问题,但我们担心如果编码不同,XML的收件人将无法正确读取它。目前我们的解决方案是将这些字符解析为:

<?xml version="1.0" encoding="UTF-8"?>
<example>
    <comments><![CDATA[Hola. Mi nombre es Pat. &#191;C&#243;mo puedo ayudarle?]]></comments>
</example>

我的问题是,这是逃避这些角色的正确方法吗?

1 个答案:

答案 0 :(得分:2)

你写的是Javascript正在生成XML,其编码设置为UTF-8。你怎么做到这一点?

您是否检查过生成的文件是否真的是UTF-8编码的?我有点怀疑 - 如果它不会有任何麻烦,对吧?我的猜测是你在XML文件中将编码指定为encoding =“UTF-8”,但文件编码实际上不是utf-8。

最佳, 罗纳德