Jsp servlet页面数据乱码问题解决(默认mysql数据库)
1、确定是否jsp本身的页面出现乱码问题
(1)、get方法和 post方法提交数据给servlet的时候,接收数据时,打印出来看到乱码,解决方法
get方法提交:
String name = request.getParameter("name");
name = newString(name.getBytes("ISO-8859-1"),"gbk");
post方法提交:
request.setCharacterEncoding("gbk");
(2)、客户端用异步机制,用get提交的URL中出现有中文参数的路径 ,解决方法
客户端js:对中文参数进行转码
var name = "用户名"
name = encodeURI(name);
name = encodeURI(name);
服务器:转码
String name = request.getParameter(name);
//java : 字符解码
name = URLDecoder.decode(linename , "UTF-8");//不要用gbk或者gb2312
2、不是jsp页面本身出现的乱码问题,那么则是mysql的数据库乱码问题了,解决方法如下
(1)、重新设置mysql的编码方式为gbk
![Center][]
(2)、在mysql的安装路径中找到my.ini,找到如下
sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_Create_USER,NO_ENGINE_SUBSTITUTION”
把其中的STRICT_TRANS_TABLES去掉,再把client 的编码设置为gbk,sever的编码设置为gbk
重启mysql,解决
![Center 1][]
![Center 2][]
![Center 3][]
还没有评论,来说两句吧...