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

         

  (2)、在mysql的安装路径中找到my.ini,找到如下
        sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_Create_USER,NO_ENGINE_SUBSTITUTION”
        把其中的STRICT_TRANS_TABLES去掉,再把client 的编码设置为gbk,sever的编码设置为gbk

        重启mysql,解决

       

        

         Jsp servlet页面数据乱码问题解决(默认mysql数据库)_第1张图片

你可能感兴趣的:(数据库,jsp,servlet,乱码)