linux jq命令 汉字乱码,jquery中文乱码

escape()除了 ASCII 字母、数字和特定的符号外,对传进来的字符串全部进行转义编码,

因此如果想对URL编码,最好不要使用此方法。 而encodeURI() 用于编码整个URI,因为URI中的合法字符都不会被编码转换的。 encodeURIComponent方法在编码单个URIComponent(指请求参数)应当是最常用的,它可以讲参数中的中文、特殊字符进行转义,而不会影响整个URL

当通过jquery传递中文参数时,页面出现了乱码,这时需要对参数进行处理:

javascript中代码:

var subCompanyName = encodeURIComponent(encodeURIComponent($("#subCompanyName").val()));

window.open("../powerStation/doSubAddForward.do?subCompanyId="+subCompanyId+"&subCompanyName="+subCompanyName, "添加明细", "width=620,height=360,left=200,location=no");    注意对参数subCompanyName进行了两次encodeURIComponent包装。

java代码中:

String subCompanyName = request.getParameter("subCompanyName");

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

java.net.URIDecoder.decode(String s,String enc)方法说明:

decode

public static String decode(String s,

String enc)

throws UnsupportedEncodingException

使用指定的编码机制对 application/x-www-form-urlencoded 字符串解码。给定的编码用于确定任何 "%xy" 格式的连续序列表示的字符。

注:World Wide Web Consortium Recommendation 声明应使用 UTF-8。如果不使用该编码,可能造成不兼容性。这样页面中文格式就正常显示了。

但是后台还是报了异常,并不影响正常显示。

因为我的项目用的是GBK编码,这与java.net.URIDecoder.decode(String s,String enc)方法的说明相一致。

但是如果后台能够不报异常岂不更好?

哪位大侠有好的办法可以给我点提示。先行拜谢!

-------------------------------------

2011-09-06

上面是为了解决页面跳转的显示需要两次encodeURIComponent。

实际上一次encodeURIComponent之后,将其转为utf-8格式,然后在后台转回来即可。

js中:

encodeURIComponent($("#subCompanyName").val());

后台:

String subCompanyName = request.getParameter("subCompanyName");

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值