Code Bye

jsp读取My SQL数据显示乱码

 

jsp读取My SQL里面的数据,英文和数字是正常显示的,汉字显示的是问号“????”,把jsp页面的charset,pageencoding改成了UTF-8,My SQL数据库的collate改成了utf-8-default collation,汉字在My SQL Workbench里面也可以正常显示,但是jsp里面就是问号,这是什么原因呢? 


3分
你后台得到数据的时候是乱码么?
引用 1 楼 shijing266 的回复:

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

是的


3分
看看你和mysql的连接用的什么编码

3分
修改服务器编码 如果你用的是tomcat 去修改 tomcat安装目录里的 conf下的 server.xml
修改里面内容 端口号是你使用的端口号 那一行 的最后加上 URIEncoding=”UTF-8″  然后重启tomcat试试

3分
引用 2 楼 k_c_u_f 的回复:
Quote: 引用 1 楼 shijing266 的回复:

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

是的

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


4分
jdbc:mysql://xx.xx.xx.xx:xxxx/db?characterEncoding=UTF-8

4分
引用 5 楼 djy18178 的回复:
Quote: 引用 2 楼 k_c_u_f 的回复:
Quote: 引用 1 楼 shijing266 的回复:

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

是的

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

引用 6 楼 djy18178 的回复:

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

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

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

不知道你是不是这种情况,希望不是,很麻烦

我用的ODBC,后来用
new String(rs.getBytes(字段名),”UTF-8″);
就对了

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明jsp读取My SQL数据显示乱码