JSP网页里是charset=UTF-8,Mysql5的数据库也设成了UTF-8,可为啥通过JSP网页存取数据库,中文还是乱码?解决方案

JSP网页里是charset=UTF-8,Mysql5的数据库也设成了UTF-8,可为啥通过JSP网页存取数据库,中文还是乱码?解决方案

JSP网页里是charset=UTF-8,Mysql5的数据库也设成了UTF-8,可为啥通过JSP网页存取数据库,中文还是乱码?

JSP网页里是charset=UTF-8:

<%@   page   contentType= “text/html;   charset=UTF-8 ”   language= “java ”   import= “java.sql.* ”   errorPage= “error.jsp ”   %>

Mysql5的数据库也设成了UTF-8,可为啥通过JSP网页存取数据库,中文还是乱码?




你在取数据的时候有告诉mysql你用什么编码取吗?mysql默认的是lan1,虽然你在表里面存的是utf8




在所有语句前加上:set names utf8




+————————–+——————————————-+

| Variable_name | Value |

+————————–+——————————————-+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | C:MySQLMySQL Server 5.0sharecharsets |

+————————–+——————————————-+

以上character_set都是UTF-8么?

再写入数据库时characterEncoding=utf-8

“jdbc:mysql://localhost/xiao?user=root&password=1&useUnicode=true&characterEncoding=utf-8 “;




关键在于你用什么样的WEB容器。

如果是Tomcat的话需要转码。用Resin就没这种问题。

顺便说一句:70%的乱码解决方案都是为Tomcat准备的。




还有建数据库时,要指定数据库编码为utf-8,然后楼上们说的:

“在所有语句前加上:set names utf8 ”

“关键在于你用什么样的WEB容器。

如果是Tomcat的话需要转码。用Resin就没这种问题。

顺便说一句:70%的乱码解决方案都是为Tomcat准备的。 ”

都不是问题!

我就没有加:set names utf8

我就用tomcat!Resin用过几天,偶尔持续占用CPU达50%左右,放弃了




总结一下楼上各位的。

jsp我不懂,给点建议。我在php下也遇到过一次乱码,加上类似

<%@page language= “java ” pageEncoding= “UTF-8 ” errorPage= “error.jsp “%>

response.setCharacterEncoding( “utf-8 “);

request.setCharacterEncoding( “utf-8 “);

的代码之后消除。

要确定是哪个坏节乱码。数据通过应用程序存入数据库,再从中取出交给应用程序的每一个环节进行检查。

1. 网页自身文本以utf8存储

2. 网页head标出utf8

3. 就是上面的那段

4. mysql以utf8存储。

5. 以utf8从数据库读取

6. 确保存入与取出相同的过程中编码相同,这样即使数据库中是乱码的,显示出来也会是正常的。

7. 你用的接口对utf8支持不好。

JSP网页里是charset=UTF-8,Mysql5的数据库也设成了UTF-8,可为啥通过JSP网页存取数据库,中文还是乱码?解决方案

相关文章:

你感兴趣的文章:

标签云: