Ajax Ajax 中文乱码难题

js 相关代码:
function doFind(default_value){
var q_bureau_name = document.forms[0].q_bureau_name.value;
var defpars = ”;
if(default_value != null){
   defpars = ‘&default_value=’+default_value;
}
var url = ‘customeroperAction.do’;
var pars =
‘action=getbureaulist&sname=customerTel.TEL_BUREAU&q_bureau_name=’+encodeURI(encodeURI(q_bureau_name))+defpars;    
//encodeU途睿欧I 两遍将文本字符串编码为一个卓有效用的合并财富标识符 (U悍马H2I)。
var my = new Ajax.Request(url,{method: ‘post’,parameters:
pars,onComplete: show});
}
function show(originalRequest)
{
var BUREAUSPAN = document.getElementById(“BUREAUSPAN”);
BUREAUSPAN.innerHTML = originalRequest.responseText;
}
java 相关代码
String q_bureau_name =
Util.filter(request.getParameter(“q_bureau_name”));
   q_bureau_name = java.net.URLDecoder.decode(q_bureau_name,
“UTF-8”);
//ajax提交数据(post)的格式默许为utf-八,利用javascript的提供的escape()或encodeU奥迪Q5I()方法.在劳务器端接收的时候要选择java.net.U奥迪Q5LDecoder.decode(value,”UTF-8″)方法开始展览解码.

js相关知识:

escape 方法

String 对象编码以便它们能在具备电脑上可读,

escape(charString)

必选项 charstring 参数是要编码的任意 String 对象或文字。

说明

escape 方法重返多个含有了 charstring 内容的字符串值( Unicode
格式)。全数空格、标点、重音符号以及其余
ASCII

字符都用 %*xx 编码代替,当中 xx*
等于表示该字符的十陆进制数。例如,空格重返的是 “%20” 。

字符值大于 25伍 的以 %u*xxxx* 格式存款和储蓄。

注意 escape 方法不可能用来对统一财富标示码 (UCRUISERI)
举行编码。对其编码应采纳 encodeURIencodeURIComponent 方法。

encodeURI 方法

将文本字符串编码为贰个立竿见影的联结能源标识符 (U逍客I)。

encodeURI(URIString)

必选的 URIString 参数代表三个已编码的 U福特ExplorerI。

说明

encodeURI 方法重返3个编码的 U陆风X8I。若是你将编码结果传递给
decodeURI,那么将回到初步的字符串。encodeURI
方法不会对下列字符实行编码:”:”、”/”、”;” 和 “?”。请使用
encodeURIComponent 方法对那几个字符进行编码。

encodeURIComponent 方法

将文本字符串编码为一个联独财富标识符 (U福睿斯I) 的2个实惠组件。

encodeURIComponent(encodedURIString)

必选的 encodedURIString 参数代表三个已编码的 U奥迪Q5I 组件。

说明

encodeURIComponent 方法重回二个已编码的 UMuranoI。如若你将编码结果传递给
decodeURIComponent,那么将回到起先的字符串。因为
encodeURIComponent
方法对持有的字符编码,请留意,假如该字符串代表二个路径,例如
/folder1/folder2/default.html,当中的斜杠也将被编码。这样一来,当该编码结果被视作请求发送到
web 服务器时将是无用的。倘若字符串中带有不止二个 URubiconI 组件,请使用
encodeURI 方法进行编码。

相关文章