首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

转< 经典的很>mysql字符集及编码变换学习篇

2012-08-24 
转 经典的很mysql字符集及编码转换学习篇mysql服务器中有六个关键位置使用了字符集的概念,他们是:? a、其

转< 经典的很>mysql字符集及编码转换学习篇
mysql服务器中有六个关键位置使用了字符集的概念,他们是:
? a、其中client是客户端使用的字符集,相当于网页中的字符集设置如下

<latin1这种瑞典语的字符集,所以无法完全解决字符集问题,这个版本我们后面会讲到怎么解决字符集问题。? ? ? ? ?第三种为源码自行编译安装,这种安装可以在编译时设置字符集类型,这部分主要讲这种安装方式。 ? ? ? ? 在编译mysql是我们可以用这样的指令:./configure --default-character-set=utf8这样,在编译的时候,就会把mysql的server项编译成utf8的编码,这样这个mysql下建立的所有数据库都将使用utf8编码存储,所有有关的方面都是utf8编码。 

 2、局部坚决字符集的方法:?? ? ? ? 如果遇到自己的数据库使用的是默认安装的
还可以用
这就说明,除system是utf8之外的所有内容的字符集都为latin1,我们怎么样才能使用utf字符集呢?有人说可以在my.cnf文件的[mysqld]段中加入default-character-set=utf8这一项就可以解决,但经过我的实验,这一条完全没有必要,以下是增加了这一项后得显示结果。 

转< 经典的很>mysql字符集及编码变换学习篇

从上面可以看出,使用了配置文件中修改默认字符集的方法,并没有把client、connection、results这三项改成utf8,而且在建数据库的时候我们可以通过这样的指令实现数据库的字符集设置: ?CREATE DATABASE `database` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 这样此数据库内的所有表和字段都将为utf8字符集编码,所以在配置文件中修改的方法也就失去了意义。 ? ? ?? ? ?b、我的解决办法。 ? ? ? 我们可以完全无视数据库默认的字符集是什么,我们关心的只有数据库在建立的时候是不是加入了字符集选择。 ? ? ? (1)使用如下指令建立数据库:? ? ? ? ? ? ?  ? ? ?CREATE DATABASE `database` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 

??? ?? (2)另外一种解决办法参看上一篇文章;

数据库字符集尽量使用utf8(utf-8),以使你的数据能很顺利的实现迁移,因为utf8字符集是目前最适合于实现多种不同字符集之间的转换的字符集,尽管你在命令行工具上无法正确查看数据库中的内容,我依然强烈建议使用utf8作为默认字符集.
接下来是完整的一个例子:
创建数据库表mysql -h localhost -uroot my_db < new.sqlhttp://blog.sina.com.cn/s/blog_5d5c29c20100cufb.html~type=v5_one&label=rela_prevarticle

热点排行