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,解决

       

        

         

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值