统一字符集保证不乱码:建议中英文环境选择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
原文地址:http://11264900.blog.51cto.com/11254900/1879317