一、常识了解
1、GBK包含GB2312,GB2312编码的可以通过GBK解码,但反之不成立
2、java.nio.charset.Charset.defaultCharset()获得平台默认字符编码
二、中文乱码出现
servlet乱码分为request乱码和response乱码,一般都是浏览器和程序的编码不一致导致的
三、response中文乱码
response.setContentType("text/html;charset=utf-8");设置浏览器端编码为utf-8解决浏览器解码不一致问题
response.setCharacterEncoding("utf-8");设置response.getWriter输出流的编码控制,将response中的对象数据以utf-8编码后发给浏览器
中文乱码原因剖析:
四、request中文乱码问题
request请求分为post和get,对于不同的请求方式,有不同的乱码解决方案
1、post请求乱码
浏览器将提交的数据以自身默认的编码方式编码,通过request对象传递到服务器,服务器通过默认的编码iso-8859-1解码,造成乱码
解决方法:设置request的编码方式和浏览器的一致,即request.setCharacterEncoding("utf-8");
2、get请求乱码
get提交的乱码可以通过如下方法解决:
value=new String(name.getBytes("ISO-8859-1","gb2312"));
五、数据库(MySQL)写入乱码
在解决了以上乱码问题之后,插入数据库时有出现乱码,可见是在写入数据库是出现了编码不一致问题,可以在链接数据库的时候设置数据库编码一致
static String DB_URL = "jdbc:mysql://localhost:3306/zywbbs?useUnicode=true&characterEncoding=utf-8";
分享到:
相关推荐
Servlet + Tomcat 中文乱码的解决方法,浏览器把Unicode字符转换为GBK字符,这样页面的内容和浏览器的显示模式都设成了GBK,就不会乱码了
解决servlet中文乱码问题1
jsp传参 servlet接收中文乱码问题的解决方法.docx
解决jsp+servlet开发中的中文乱码问题
彻底解决Servlet及jsp解决中文乱码问题
解决此问题的方法非常简单,在业务处理中重新指定中文字符集进行编码即可解决。在实际的开发过程中,如果通过每一个业务处理指定中文字符集编码,则操作过于繁琐,而且容易遗漏某一个业务中的字符编码设置;如果通过...
下面小编就为大家带来一篇jsp传参 servlet接收中文乱码问题的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
彻底解决servlet中文乱码问题,对于gbk、utf-8、iso-8859-1之间的选择,做了详细的讲解!
主要介绍了Servlet中文乱码问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
讲述javaweb开发中的jsp乱码问题 get、post的区别 http协议的图解
jsp和servlet操作mysql中文乱码问题的解决办法.docx
第一句目的是为了指定浏览器以UTF-8码表打开服务器发出的数据 第二句目的是设置response使用的码表,控制response以UTF-8码表向浏览器写入数据(必须写在方法中第一行)
JSP Servlet 汉字编码问题 乱码解决方法
解决Struts2和servlet的中文乱码问题
在Servlet中接收浏览器的数据以及发送数据到浏览器的时候容易遇到一些中文显示乱码的问题,下面是博主对这类问题的一个总结,希望能帮到大家! 一、问题分析 当我们的Servlet程序从客户端接收到一个中文数据或者...
主要介绍了Java Servlet输出中文乱码问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
可以完全解决servlet的dopost和doget中文乱码的思维导图,如果觉得太少了看的不太明白,可以去看我的博客https://blog.csdn.net/qq_42495847/article/details/105237768 这个思维导图是我精华整理过的,试试上传功能
本文档详细地介绍了如何解决MySql数据库中的中文乱码问题,此问题的解决将极大地帮助基于MySql的PHP编程、JSP编程、Servlet编程及C#或.Net编程!测试过的开发平台包括 Netbeans和Eclipse。测试过的服务器包括Apache、...
最近在学jquery ui,在做一个小功能的时候需要将前台的值获取到,通过Ajax传递给Servlet,然后再在返回数据结果,但是在Servlet接受参数的时候,通过后台打印,发现接受乱码,代码示例如下: public void doGet...
utf8解决JSP中文乱码问题 Tomcat 5.5中文乱码 JDBC ODBC Bridge的Bug及其解决方法 Solaris下Servlet编程的中文问题及解决办法