统一字符集保证不乱码:建议中英文环境选择utf8 1.linux系统语言 /etc/sysconfig/i18n LANG="zh_CN.utf8"
2.mysql客户端 临时: set names utf8; 永久: 配置文件my.cnf [client] default-charater-set=utf8
3.mysql服务端 [mysqld] character-set-server=utf8
4.mysql建库建表语句 指定字符集建库 create database oldboy_utf8 default character set uft8 collate utf8_general_ci; 指定字符集建表 create table student ( id int(4) not null auto_increment, name char(20) not null, primary key(id) )engine=inonodb auto_increment=10 default charset=utf8
5.开发程序的字符集
模拟将latin1字符集的数据库修改成GBK字符集的实际过程 1.导出表结构 mysqldump -uroot -p --default-character-set=latin1 -d dbname >alltatale.sql --default-character-set=latin1 以latin1连接 -d只导表结构 2.编辑alltable.sql将latin1改成gbk sed替换 3.确保数据库不在更新,导出所有数据 mysqldump -uroot -p --quick --no-create-info --extended-insert --default-character-set=latin1 dbname >alldata.sql 4.打开alldata.sql将set names latin1修改成set names gbk;(或者修改系统的服务端和客户端) 5.建库 create database dbname default charset bgk; 6.创建表,执行alltable.sql mysql -uroot -p dbname<alltable.sql 7.导入数据 mysql -uroot -dbname < alldata.sql
|