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试试
------解决方案--------------------
后台得到的是乱码那就不关jsp的事了
估计是你连接的时候没指定编码
------解决方案--------------------
jdbc:mysql://xx.xx.xx.xx:xxxx/db?characterEncoding=UTF-8
------解决方案--------------------
你后台得到数据的时候是乱码么?
是的
后台得到的是乱码那就不关jsp的事了
估计是你连接的时候没指定编码
jdbc:mysql://xx.xx.xx.xx:xxxx/db?characterEncoding=UTF-8
对头,既然后台得到就乱码了,与jsp就没关系了....你看看你数据库链接的时候 编码格式吧
还有,如果以上都不行的话,那只能说明一种情况了:
这个情况有点特殊,我以前遇到过,就是你开始数据库的编码是iso8859-1,后面你添加数据之后,你重新设置成了utf-8,但是这个时候改动是没用的,你只有删除原有数据库,重新创建一个,并设置成utf-8 然后添加数据才行!!
不知道你是不是这种情况,希望不是,很麻烦