JAVA中,当向mysql数据库保存中文数据时发生乱码问题(乱码格式??????),也就是说在服务器端读取到客户端请求的中文数据是正常的,没有乱码,但是向Mysql数据库保存数据时出现乱码,则问题出现在保存这一阶段。 前提:Mysql数据库在创建时已经设置编码格式为utf-8,表的编码格式也是Utf-8;
数据库连接属性:
字符集:utf8 -- UTF-8 Unicode
排序规则:utf8_general_ci
原因不只是数据库这边的问题,可能还跟myeclipse这边默认的编码格式还有一点关系,这时,再怎么更改工作空间的编码格式,项目,文件,文件保存的编码格式,jsp页面的编码格式为utf-8,依然还是乱码, 解决办法:最后在配置数据库,即在java连接数据库url连接后面硬指定编码格式为utf-8,如下 jdbc.jdbcUrl = jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull 这样指定还是不行的。 最后改为: jdbc.jdbcUrl = jdbc:mysql://127.0.0.1:3306/test?characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
一切OK!