Jsp servlet页面数据乱码问题解决(默认mysql数据库)

た 入场券 2022-09-17 07:27 214阅读 0赞

1、确定是否jsp本身的页面出现乱码问题

(1)、get方法和 post方法提交数据给servlet的时候,接收数据时,打印出来看到乱码,解决方法

  1. get方法提交:
  2. String name = request.getParameter("name");
  3. name = newString(name.getBytes("ISO-8859-1"),"gbk");
  4. post方法提交:
  5. request.setCharacterEncoding("gbk");

(2)、客户端用异步机制,用get提交的URL中出现有中文参数的路径 ,解决方法

  1. 客户端js:对中文参数进行转码
  2. var name = "用户名"
  3. name = encodeURI(name);

name = encodeURI(name);

  1. 服务器:转码
  2. String name = request.getParameter(name);
  3. //java : 字符解码
  4. name = URLDecoder.decode(linename , "UTF-8");//不要用gbk或者gb2312

2、不是jsp页面本身出现的乱码问题,那么则是mysql的数据库乱码问题了,解决方法如下

(1)、重新设置mysql的编码方式为gbk

  1. ![Center][]

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

  1. 重启mysql,解决
  2. ![Center 1][]
  3. ![Center 2][]
  4. ![Center 3][]

发表评论

表情:
评论列表 (有 0 条评论,214人围观)

还没有评论,来说两句吧...

相关阅读