mysql 的字符编码
=== 稍后再整理
mysql
4.0到mysql
5.0的数据导入出现乱码的解决方案
字体大小:大
| 中
| 小
2007-02-08 17:09 -
阅读:485 - 评论
:0
最近做mysql
4.0到mysql
5.0的数据转化工作,发现乱码
无数,观博客无数心得如下:
*mysql
中文亂碼的原因
mysql
會出現中文亂碼的原因不外乎下列幾點:
-mysql
server本身設定問題,例如還停留在 latin1
-mysql
table 的語系設定問題(包含 character 與 collation)
-客戶端程式(例如 php) 的連線語系設定問題
这是由于 mysql
5.0默认是lantin瑞典语系,因此在mysql
4.0导出的sql文件里面需要加入DEFAULT CHARSET
=utf8 collate
utf8_unicode_ci
例如:
CREATE TABLE IF NOT EXISTS `user_right` (
`user_right_id` int(11) NOT NULL auto_increment,
`user_id` varchar(11) default NULL,
`right_id` varchar(11) default NULL,
PRIMARY KEY (`user_right_id`)
) TYPE=MyISAM DEFAULT CHARSET
=utf8 collate
utf8_unicode_ci
AUTO_INCREMENT=11 ;
然后在php连接数据库最初执行"SET NAMES 'utf8'";
问题解决!以上针对utf8编码的数据库,毕竟是趋势嘛,其它编码有待稍空的时候研究
相关文档:
solaris下mysql安装完毕后执行如下操作,可以修改数据库字符集,设置MySQL在Solaris上表名不区分大小写
1.拷贝文件如下:
cp /usr/sfw/share/mysql/my-medium.cnf /etc/my.cnf
把文件只读属性去掉
chmod +w my.cnf
2 设置mysql的字符集:在/etc/my.cnf中的mysqld段和client段加入代码:
[client]
de ......
首先停止MySQL服务:sudo /etc/init.d/mysql stop
然后编辑MySQL配置文件:sudo gedit /etc/mysql/my.cnf
在my.cnf文件中的[client]段下面加入
default-character-set=utf8
[mysqld_safe]
default-character-set=utf8
[mysqld]
default-character-set=utf8
[mysql]
default-character-set=utf8
重新启动MySQL服务 ......
Scale Out:横向扩展,增加处理节点提高整体处理能力
Scale Up:纵向扩展,通过提升单个节点的处理能力达到提升整体处理能力的目的
Replication
MySQL的replication是异步的,适用于对数据实时性要求不是特别关键的场景。slave端的IO线程负责从master读取日志,SQL线 程专门负责在slave端应用从master读过来的日志(早期 ......