我遇到问题,将通过Ajax检索到的内容呈现在Safari(v.4)下的HTML页面中。 页面存储在UTF-8中,Ajax响应也是UTF-8编码。
解析加载的内容,然后使用解析的数据填充不同类型的列表。 其中一个很简单<选择>使用普通代码设置选项文本的元素:
option.innerHTML = "";
option.appendChild(document.createTextNode(text));
我的文字包含法文字符。 作为上面的代码的结果<选择>元素显示选项,这个法语文本分为两部分,其中分隔符(一些很酷的法语字母)根本没有显示... :(
使用
option.innerHTML = escapeGtLtAmp(text);
有相同的结果。
如果将法语内容设置为某些< div>然后显示的文本没有拆分,只是省略了非英文字母。
在Firefox 2下,似乎工作正常。
答案 0 :(得分:0)
页面存储在UTF-8中,Ajax响应也是UTF-8编码。
AJAX响应是否也将Content-Type-HTTP-header设置为UTF-8?
答案 1 :(得分:0)
我在Firefox 3中遇到了类似的问题,似乎问题是ajax调用。我也尝试更改请求标头但问题仍在继续。所以我尝试从iframe加载数据,从而完全避免ajax,然后获取iframe的innerHTML。
如果您正在使用jquery,或许this little plugin可以帮助您或只是给您一个想法