Servlet执行SQL语句把汉字插入到MySql,此时在MySql中汉字变成了方块,乱码

时间:2023-02-07 06:40:15
在安卓客户端有一个注册登录程序,注册的时候,输入用户名密码,客户端用GET方式把表单数据传到Servlet,然后Servlet通过 String name=request.getParameter("username");String password=request.getParameter("password");把用户名密码得到,之后执行SQL语句把用户名密码插入到MySql里边,整个过程就是这样,并且用户名和密码在只有数字字母组成的情况下,可以正常添加到数据库,那么问题来了,我在输入用户名为汉字的时候,插入到数据库就变成了方块,也就是乱码??。。怎么解决?我网上搜了好长时间,这个帖子说把什么什么设置成GBK,那个帖子说把什么什么设置成GB2312,另一子说把什么什么设置成UTF8,我都凌乱了,到底该怎么设置???我是一个小白,,有时候看不懂那些大神写的解决方法。。。好无奈。。我现在想知道,肯定是要添加转码之类的代码的对吧,那应该怎么添加???从客户端发送的时候就转码还是服务端接收到了再转码然后插入数据库??那么代码是什么。。。我的分只有5分,,前面在技术问答那里发帖没人理我,,现在连5分都没了。。

2 个解决方案

#1


对应网页右击->编码 会有选择 gbk或utf8

       <%@page language="java" contentType="text/html;charset=gb2312"%>  //jsp文件开头设置吧

#2


楼主已经解决了,我是在安卓客户端发送到servlet页面的时候就已经乱码了,,然后爱servlet插入到mysl数据库肯定是方块了啊。。解决办法我就在客户端转码了一下,servlet转码了一下。。就OK;了

#1


对应网页右击->编码 会有选择 gbk或utf8

       <%@page language="java" contentType="text/html;charset=gb2312"%>  //jsp文件开头设置吧

#2


楼主已经解决了,我是在安卓客户端发送到servlet页面的时候就已经乱码了,,然后爱servlet插入到mysl数据库肯定是方块了啊。。解决办法我就在客户端转码了一下,servlet转码了一下。。就OK;了