javaweb中的中文乱码处理如何处理?

导读:本篇文章讲解 javaweb中的中文乱码处理如何处理?,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1.为什么会出现乱码?
B/S 应用程序是一种请求相应模式,浏览器默认的语言编码是操作系统的编码,而 Tomcat 默认的是 ISO-8859-1。
2.何时会出现中文乱码?
两方面:
请求(浏览器对服务器说话)request.getParamenter得到客户端请求参数
相应(服务器对浏览器说话):
表现一:PrintWriter out = response.getWriter();
out.write(“你好,世界!”);
表现二:jsp中的中文乱码,因为jsp本质上还是servlet,它的所有内容是通过out.write向客户端发送的.
那么,到底如何解决呢?肯定是让他们使用统一的编码集.(可以理解为2个不同国家的人说话时用同一种语言,例如:English)

  1. ISO-8859-1 美国人标准,很多软件默认使用此编码,如 tomcat,mysql 等。
  2. GBK(gb2312)中国人标准.
  3. UTF-8 因内部使用 unicode 编码。一般为 16 位,而 unicode 为 32
    位,支持地球已知的所有语言,我们的首选。
    解决方法:
    解决方法一:硬编码:
    String name = new String(x.getBytes(“ISO-8859-1”), “UTF-8”);
    优点:对 get,post 请求都有效;
    缺点:当请求字段较多时,不利于处理;
    解决方法二:只对 post 有效
    request.setCharacterEncoding(“UTF-8”);必须request.getParamenter 方法调用之前设置。(代码放在第一行)
    解决方法三:只对 get 有效
    修改 server.xml

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/96921.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!