参考地址:http://www.cnblogs.com/amboyna/archive/2008/06/18/1224570.html
今天部署已有一个java服务到另一台机器时出现写入数据库中文乱码的问题,找了挺久。最后发现是配置文件中对数据库项的配置出错了。
解决方法:
java设置连接数据库URL时,最好设置字符集,如:
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/dev_ymd<strong><span style="color:#ff0000;">?useUnicode=true&characterEncoding=UTF-8</span></strong>
jdbc.username=root
jdbc.password=123456
当然为了支持中文,避免乱码,强烈建议在创建数据库及创建数据表的时候对字符集进行设置。
创建数据库,如:
CREATE DATABASE `student` <strong><span style="color:#ff0000;"> CHARACTER SET 'utf8 ' COLLATE 'utf8_general_ci '</span></strong>;
因为有时会默认字符集是gbk的
创建数据表,如:
CREATE TABLE `stu`(
`stu_id` INT NOT NULL AUTO_INCREMENT,
`stu_name` VARCHAR(40) NOT NULL,
PRIMARY KEY (`stu_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;