用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字

蓝色理想    -  云代码空间

——

为什么有时候String str = request.getParameter(); new Str

2014-09-04|3066阅||

摘要:get 中文请求

为什么有时候String str = request.getParameter();
new String(str.getBytes('iso-8859-1'),"utf-8")
仅仅这两句就能解决中文乱码?为什么没有用前台两次编码,后台一次解码呢?
是因为这时是通过浏览器发送get请求,浏览器默认的编码为utf-8,这样中文被


编码为utf-8的字节码,而tomcat一看已经没有中文字符,所以不会为我们编码


了,当后台调用request.getParameter时,又会为我们解码,默认是iso-8859-


1,这个过程类似于 String str = new String("中文".getBytes("utf-


8"),"iso-8859-1");因为"中文".getBytes("utf-8"),这个编码是可逆的【"中文


".getBytes("iso-8859-1")是不可逆的】,所以可以用 new String


(str.getBytes("iso-8859-1"),"utf-8")逆转回中文汉字。
顶 3踩 1收藏
文章评论
    发表评论

    个人资料

    • 昵称: 蓝色理想
    • 等级: 中级程序员
    • 积分: 142
    • 代码: 9 个
    • 文章: 2 篇
    • 随想: 0 条
    • 访问: 9 次
    • 关注

    标签

    最新提问

      站长推荐