Mysql的乱码主要是因为mysql的默认编码是latin1。
解决方法tips:
1. 尽量在服务器,数据库创建时,表创建,列创建时均指定Default character set=utf8。
服务器级是在my.ini文件mysqld块中设置default-character-set=utf8
数据库创建时CREATE DATABASE dbname DEFAULT CHARACTER SET utf8;
表和列
CREATE TABLE tablename (
`id` int(11) NOT NULL auto_increment,
`name` varchar(200) character set utf8 default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
如果数据库及表已经创建好,可以用mysqldump -u username databasename > c:/file.txt 来得到备份数据,然后在可能的地方都指定character set。
2. 当使用命令行插入不乱码而用jsp插入乱码时 请查看my.ini中的是否指定client下的character set。
解决方法tips:
1. 尽量在服务器,数据库创建时,表创建,列创建时均指定Default character set=utf8。
服务器级是在my.ini文件mysqld块中设置default-character-set=utf8
数据库创建时CREATE DATABASE dbname DEFAULT CHARACTER SET utf8;
表和列
CREATE TABLE tablename (
`id` int(11) NOT NULL auto_increment,
`name` varchar(200) character set utf8 default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
如果数据库及表已经创建好,可以用mysqldump -u username databasename > c:/file.txt 来得到备份数据,然后在可能的地方都指定character set。
2. 当使用命令行插入不乱码而用jsp插入乱码时 请查看my.ini中的是否指定client下的character set。