我发现角色‘
没有被正确转义并且正在制作角色�
,
//ajax the next page
var sendRequest = function(href, direct){
pushState(href);
jQuery.ajax({
url: href,
dataType: "html",
cache: false,
contentType: "text/html; charset=utf-8",
success: function(data) {
pushNewData(data, direct);
}
});
}
例如,元素‘electric brain‘
中的文字port_quote
不正确。
<div id="port_quote">
<p>"Toi is the Maori word for art and the literal translation of rorohiko, the Maori word for computer, is �electric brain�. Rorohiko is morphed into Rerehiko and Toi Rerehiko is a moving image art form immersed in Maori tradition, tikanga (custom) and values which uses digital and electronic media."</p>
</div>
request
标题如下......
Accept text/html, */*; q=0.01
Accept-Encoding gzip, deflate
Accept-Language en-US,en;q=0.5
Content-Type text/html; charset=utf-8
可以做些什么来修复某些字符没有被正确转义的问题?我想过可能循环遍历data
变量,只是用其ascii等价替换每个‘
(但我更喜欢更通用的方法)。
答案 0 :(得分:1)
需要使用HTML entities来显示这些字符:
http://www.danshort.com/HTMLentities/
那我会相信‘
。
要进行编码,因为您已经在使用jQuery,所以可以使用this method 编码段落元素的文本
答案 1 :(得分:1)
我很确定这不是ajax请求或任何JavaScript的问题。实际上,您在.ajax()
的调用中不需要包含“contentType”选项。此外,这不是“逃避”而是“编码”的问题。您需要服务器正确编码响应,因此它是UTF-8。服务器还应将“Content-Type”响应头设置为“text / html; charset = utf-8”。首先,您可以检查ajax响应的响应标头的外观。但即使它们是正确的,这并不意味着响应实际上是正确编码的。您必须检查服务器代码以查看它正在执行的操作。