一、用$.get异步请求,因为参数是这样提供的
{name: '中文'},所以可以这样修改{name: encodeURI('中文', 'utf-8')};就行了,后台就可以接受到已经转换的字符串,但是不是utf-8格式的,
encodeURI('中文', 'utf-8')转换后是"%E4%B8%AD%E6%96%87";
二、用使用window.location.href = '....?param=中文';就不能用以上方法了,否则后台还是接受称问题,这时候因为是浏览器定向直接访问某个请求,而这时候可能受了浏览器本身对中文的处理影响,故而不需要指定转换的数据类型,而是需要转化两次,如用一下方式转化中文:
window.location.href = '....?param=' + encodeURI(encodeURI('中文'));
最后就是关于服务器是怎么接受中文的了,一般情况下,中文会选择使用post方式请求,非要用get的时候只能修改服务器接受中文的模式,这里我没有用就不多加说明,网上有说明,那么此刻服务器接受需要
URLDecoder.decode(request.getParameter("name"), "UTF-8");来接受编码并进行转化,因为从前台过来的数据并不是utf-8,而是转换称了前后台都可以去间接转化的格式GBK