java与js中文转码_JS中文转换(UTF-8),中文乱码解决办法,url传递中文乱码解决

js合成url时,如果参数是中文,传到struts2中会乱码,解决办法如下:

1.js文件中使用encodeURI()方法(必须套两层)。

login_name =

encodeURI(encodeURI(login_name));

2.action中URLDecoder解码

loginName =

java.net.URLDecoder.decode(loginName,"UTF-8"); -------------------------------------------------------------------------------------

实际应用如下queryPrice()方法:

Java代码 a4c26d1e5885305701be709a3d33442f.png

1)js代码:

function queryPrice()

{

var checkMoney = true;

var textMoney = $("#textMoney");

var textArea = $("#textArea");//地区错误提示位置

var obj = document.getElementsByName("money");

for( var i=0; i

{

if(obj[i].checked)

{

checkMoney = true;

break;

}

else

{

checkMoney = false;

}

}

if( ($("#Area_a").val() != 'no') && ($("#Area_b").val() != 'no') && checkMoney == true )

{

var checkText=$("#Area_b").find("option:selected").text();//###这里得到select被选中option的text

var Area_b_text = encodeURI(encodeURI(checkText));

$("#form1").attr("action","priceStrategy_querAllPriceStrategy2?Area_b_text="+Area_b_text);

$("#form1").submit();

}

else

{

textArea.html("选择地区!");

textMoney.html("

至少选择一种面值!");

}

}

Java代码 a4c26d1e5885305701be709a3d33442f.png

2)jsp页面

1 width="100%">

"3">查询操作

地区:

"Area_a" name="Area_a" size="1" οnchange="getAllCityOrProvince()">

"${ Area_a == 'nei' }">

"no">==请选择==

"nei" selected="selected">省内

"wai">省外

"${ Area_a == 'wai' }">

"no">==请选择==

"nei">省内

"wai" selected="selected">省外

"no" selected="selected">==请选择==

"nei">省内

"wai">省外

"Area_b" name="Area_b" size="1">

"${ Area_b_text != null }">

"${ Area_b }">${ Area_b_text }

"no">

"textArea">

"button" value=" 查询 " οnclick="queryPrice()"/>

"button" value=" 重置 " οnclick="resetQueryPrice()"/>

Java代码 a4c26d1e5885305701be709a3d33442f.png

3)struts2的Action中getter方法这样设置:

private String Area_b_text;//第二个select中的text

public void setArea_b(String areaB) {

Area_b = areaB;

}

public String getArea_b_text() throws UnsupportedEncodingException {

return java.net.URLDecoder.decode(Area_b_text,"UTF-8");//前台获得时自动转为UTF-8编码格式

}

=====================================================================================

###其他资料

url传递中文

如果jsp页面,myeclipse、web.xml中org.springframework.web.filter.CharacterEncodingFilter,都是UTF-8编码,

直接传中文一般是不会乱码的,如果再有乱码,可以用以下的方式试试。

目前收集到4中方法,中文传参一documentPath为例:

1.改为form方式提交,不用超链接方式提交,用form方式传参指定不乱码。

2.通过encodeURI(encodeURI(checkText))提交,java代码中用URLDecoder.decode解码:

java代码中取中文:

String documentPath = (String)

request.getParameter('documentPath');

documentPath = URLDecoder.decode(documentPath,"utf-8");

3.修改tomcat的server.xml中的connector,添加URLEncoding="UTF-8"

4.中文从java中传到jsp再通过url传到java:

java中编码:URLEncoder.encode(URLEncoder.encode("传递的中文","utf-8"));

java中解码码:URLDecoder.decode(request.getParameter('documentPath'),"utf-8");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值