jsp操作mysql存取中文乱码
关注:148 答案:3 mip版
解决时间 2021-01-18 15:23
提问者 侑點尐悲伤
2021-01-17 18:03
如题:jsp间中文参数传递得到的是中文,直接dos对mysql存中文也正常,但是jsp在mysql中存中文1个汉字在数据库中存一个问号,读出来也是几个问号,jsp读取数据库中的正常中文一个汉字显示两个问号,该如何解决?
mysql5.1.53,tomcat 6.0,jsp、mysql编码:gb2312
本人是jsp初学,什么S S H之类的搞不懂,还没学过,最好不用这方面的技术解决。
最佳答案
二级知识专家久别无恙
2021-01-17 19:19
在你的MySQL目录中找到my.ini文件,将里面的default-character-set= 的值设为GBK
然后,在你的获得参数的servlet文件中加上
request.setCharacterEncode(“gbk”)(只对post方法有效,要在getParameter()前设置)
或者在tomcat的目录下的conf文件夹内的server.xml文件中找到
maxThreads="150" connectionTimeout="20000"
redirectPort="8443" />
将其改为
maxThreads="150" connectionTimeout="20000"
redirectPort="8443" URIEncoding="GBK"/>
(后面这个只对get方法有效)
还有一种对get方法和post方法都有效:new String(x.getBytes(“iso-8859-1”), "gbk”)
全部回答
1楼戒烟戒酒戒粗口
2021-01-17 20:38
都是utf-8,jsp链接mysql出现乱码,通常都是因为数据库链接时用了其他编码链接,导致jsp获取到的数据为乱码
解决方法很简单,告诉jsp链接数据库的时候,用utf-8链接就行,具体操作方法为:在链接数据库的url后面加上 ?useunicode=true&characterencoding=utf-8 就行
例如:
jdbc:mysql://yourhost:3306/yourdb?useunicode=true&characterencoding=utf-8
& 这个符号可能需要转义,改成 & a m p ;(&开头,;结尾,删除空格)
2楼清欢话寂寥
2021-01-17 20:15
数据库卸载了,重新装一遍,安装过程中有个选择字符集的地方,这个地方一定记得选utf8这种字符集,否则还是会乱码的,这个乱码不是jsp的问题,而是数据库的问题
我要举报
如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上信息!
推荐资讯
大家都在看