Web中文乱码——4、Webx+jetty乱码

        上一篇我们介绍了《 Web中文乱码——3、Webx编解码基础》。据此,当乱码发生时,我们就可以推断乱码原因并解决。
        其实,只要上文中提到的各项配置都设置成了统一的编码,很多乱码问题就能够解决。相关配置包含<set-locale/>、ContextType、jetty启动参数和velocity。
        除此之外,只有一种可能会发生乱码,那就是ajax请求参数乱码,有两种方案能解决这个问题。
方案1:指定请求的编码
        如果不允许使用IE,那么ajax请求的参数肯定是以UTF-8编码的,因此可以直接在ajax请求url后添加_input_charset参数如下。
http://localhost:8081/myapp/myform?_input_charset=UTF-8  
方案2:js进行url encode
        和《 Web中文乱码——2、SpringMVC+Jetty 乱码》类似,js先对参数进行encodeURI,这能将参数中的中文转换为%**格式。接下去,没了中文也就没了乱码。在服务器端拿到参数param后进行URLDecoder.decode(param)即可。
        如果各项配置中的字符集不一致,那么各种情况都可能出现乱码,具体不再展开了,可以参考《 Web中文乱码——2、SpringMVC+Jetty 乱码》自行推理。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值