1、Windows平台
1.1、创建数据库时,指定数据库编码为“gbk”;
1.2、建表时指定数据表编码为 “gbk”,或在表建立之后通过"ALTER TABLE 表名 CHARACTER SET gbk;"修改表的编码为gbk;
1.3、在程序的连接字符串中指定编码方式为gbk,如"server=127.0.0.1;User Id=root;Password=csct;Persist Security Info=True;database=csct;charset=gbk";
2、Linux平台
2.1、修改mysql的缺省编码
在linux下修改3个my.cnf的1个/etc/mysql/my.cnf文件
找到客户端配置[client] 在下面添加
### 默认字符集为utf8
default-character-set=utf8
在找到[mysqld] 添加
### 默认字符集为utf8
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
##重新启动mysql
2.2、 修改数据库的缺省编码: ALTER DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
修改表的编码:ALTER TABLE `category` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
修改表字段的编码:ALTER TABLE `test` CHANGE `dd` `dd` VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
2.3.、终极编码解决方案:
mysqldump出xxx.sql库;
vi编辑xxx.sql库; 采用“:g/latin1/s//utf8/g”对所有latin1编码替换成utf8;
drop xxx后,重新创建xxx库,再ALTER DATBASE,设置缺省编码;
use xxx; source xxx.sql