【发布时间】:2015-01-24 08:26:51
【问题描述】:
jQuery.ajax() 在转义我的数据时做了一些奇怪的事情。
例如,如果我发送请求:
$.ajax({
url: 'somethinguninteresting',
data: {
name: 'Ihave¬aweirdcharacter';
}
});
然后调查 Chrome devtools 中的 XHR,它显示“请求有效负载”为 name=Ihave%C2%ACaweirdcharacter
现在,我想通了:
'¬'.charCodeAt(0) === 172
172 是十六进制的AC。
向后工作,十六进制的C2(前置的“额外”字符)是十进制的 194,而
String.fromCharCode(194) === 'Â'
我的问题:
为什么
encodeURIComponent('¬')
返回'%C2%AC',这将看起来是调用的结果
encodeURIComponent('¬')
(它本身返回'%C3%82%C2%AC')?
【问题讨论】:
标签: javascript jquery ajax character-encoding encodeuricomponent