当前位置: 代码迷 >> J2EE >> jsp读取My SQL数据显示乱码,该怎么解决
  详细解决方案

jsp读取My SQL数据显示乱码,该怎么解决

热度:228   发布时间:2016-04-17 23:48:21.0
jsp读取My SQL数据显示乱码
jsp读取My SQL里面的数据,英文和数字是正常显示的,汉字显示的是问号“????”,把jsp页面的charset,pageencoding改成了UTF-8,My SQL数据库的collate改成了utf-8-default collation,汉字在My SQL Workbench里面也可以正常显示,但是jsp里面就是问号,这是什么原因呢? 
------解决方案--------------------
你后台得到数据的时候是乱码么?
------解决方案--------------------
看看你和mysql的连接用的什么编码
------解决方案--------------------
修改服务器编码 如果你用的是tomcat 去修改 tomcat安装目录里的 conf下的 server.xml
修改里面内容 端口号是你使用的端口号 那一行 的最后加上 URIEncoding="UTF-8"  然后重启tomcat试试

------解决方案--------------------
引用:
Quote: 引用:

你后台得到数据的时候是乱码么?

是的

后台得到的是乱码那就不关jsp的事了 
估计是你连接的时候没指定编码
------解决方案--------------------
jdbc:mysql://xx.xx.xx.xx:xxxx/db?characterEncoding=UTF-8
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

你后台得到数据的时候是乱码么?

是的

后台得到的是乱码那就不关jsp的事了 
估计是你连接的时候没指定编码


引用:
jdbc:mysql://xx.xx.xx.xx:xxxx/db?characterEncoding=UTF-8



对头,既然后台得到就乱码了,与jsp就没关系了....你看看你数据库链接的时候 编码格式吧


还有,如果以上都不行的话,那只能说明一种情况了:
  这个情况有点特殊,我以前遇到过,就是你开始数据库的编码是iso8859-1,后面你添加数据之后,你重新设置成了utf-8,但是这个时候改动是没用的,你只有删除原有数据库,重新创建一个,并设置成utf-8  然后添加数据才行!!

不知道你是不是这种情况,希望不是,很麻烦
  相关解决方案