百独托管7500 紫田网络超高转化播放器收cps[推荐]速盾CDN 免实名免备防屏蔽阿里云 爆款特卖9.9元封顶提升alexa、IP流量7Q5团队
【腾讯云】中小企福利专场【腾讯云】多款产品1折起高防 随时退换 好耶数据小飞国外网赚带你月入万元炎黄网络4H4G10M 99每月
香港带宽CN2/美国站群优惠中客数据中心 服务器租用联盟系统移动广告平台 中易企业专场腾讯云服务器2.5折九九数据 工信部正规资质
腾讯云新用户大礼包代金券高价收cpa注册量高价展示【腾讯云】2核2G/9.93起租服务器找45互联 随时退换阿里云 短信服务 验证秒达

[其它内容] MySQL数据库解决字符问题 [复制链接]
查看:915 | 回复:5

71

主题

86

帖子

2

积分

落伍者(一心一意)

Rank: 1

贡献
27
鲜花
1
注册时间
2012-7-5
发表于 2012-11-15 07:26:02 | |阅读模式 来自 中国广东东莞
MySQL 4.1的字符集支持(Character Set Support)有两个方面:字符集(Character set)和排序方式(Collation)。对于字符集的支持细化到四个层次: 服务器(server),数据库(database),数据表(table)和连接(connection)。
查看系统的字符集和排序方式的设定可以通过下面的两条命令:

mysql> SHOW VARIABLES LIKE 'character_set_%';
mysql> SHOW VARIABLES LIKE 'collation_%';

上面列出的值就是系统的默认值。latin1默认校对规则是latin1_swedish_ci,默认是latin1的瑞典语排序方式.
为什么呢默认会是latin1_swedish_ci呢,追溯一下mysql历史很容易发现

1979年,一家瑞典公司Tcx欲开发一个快速的多线程、多用户数据库系统。Tcx 公司起初想利用mSQL和他们自己的快速低级例程 (Indexed Sequential Access Method,ISAM)去连接数据库表,然而,在一些测试以后得出结论:mSQL对其需求来说不够快速和灵活。这就产生了一个连接器数据库的新SQL接口,它使用几乎和mSQL一样的API接口。这个API被设计成可以使那些由mSQL而写的第三方代码更容易地移植到MySQL。 美国VPS vps.gl/usavps/

相信如果mysql是中国开发的,那么汉语也是默认编码了

当然我们也可以自己需要修改mysql的默认字符集
在mysql配置文档my.ini,找到如下两句:

[mysql]

default-character-set=latin1



# created and no character set is defined
default-character-set=latin1

修改后面的值就可以。

这里不建议改,仍保留默认值  vps.gl/jpvps/
也就是说启动 mysql时,如果没指定指定一个默认的的字符集,这个值继承自配置文件中的;
此时 character_set_server 被设定为这个默认的字符集; 当创建一个新的数据库时,
除非明确指定,这个数据库的字符集被缺省设定为 character_set_server; 当选定了一个数据库时,
character_set_database 被设定为这个数据库默认的字符集; 在这个数据库里创建一张表时,
表默认的字符集被设定为 character_set_database,也就是这个数据库默认的字符集;
当在表内设置一栏时,除非明确指定,否则此栏缺省的字符集就是表默认的字符集。

这样问题就随之而来了,假如一数据库是gbk编码。如果访问数据库时没指定其的字符集是gbk。
那么这个值将继承系统的latin1,这样就做成mysql中文乱码。

乱码解决方法

要解决乱码问题,首先必须弄清楚自己数据库用什么编码。如果没有指明,将是默认的latin1。
我们用得最多的应该是这3种字符集 gb2312,gbk,utf8。代理VPS:vps.gl/dealer/

9

主题

184

帖子

96

积分

落伍者(一心一意)

Rank: 1

贡献
143
鲜花
0
注册时间
2010-5-30
发表于 2012-11-15 10:08:26 | 来自 中国广东深圳
字符集保持一致 基本就可以了
中国Linux联盟 Linux软件 Linux 系统 unix oracle  shell 云计算

14

主题

250

帖子

2936

积分

落伍者(两全齐美)

Rank: 2

贡献
3180
鲜花
0
注册时间
2006-5-2
发表于 2012-11-19 16:52:56 | 来自 中国北京
看不懂

9

主题

2853

帖子

5592

积分

落伍者(三羊开泰)

Rank: 3Rank: 3

贡献
2213
鲜花
1
注册时间
2002-8-24

QQ绑定

发表于 2012-11-19 17:19:05 | 来自 中国广东珠海
好贴,以前走了很多弯路。

14

主题

102

帖子

-10

积分

接近落伍(少量栏能发帖)

贡献
27
鲜花
0
注册时间
2012-10-30
发表于 2012-11-19 18:12:10 | 来自 中国广东深圳
过客

3

主题

756

帖子

-3

积分

接近落伍(少量栏能发帖)

贡献
76
鲜花
0
注册时间
2012-9-26
发表于 2012-11-20 23:02:43 | 来自 中国湖北武汉
数据库支持吗?
http://mdgcyy.com
论坛客服/商务合作/投诉举报:2171544 (QQ)
落伍者创建于2001/03/14,本站内容均为会员发表,并不代表落伍立场!
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论!
落伍官方微信:2030286 邮箱:(djfsys@gmail.com|tech@im286.com)
© 2001-2014

浙公网安备 33060302000191号

浙ICP备11034705号 BBS专项电子公告通信管[2010]226号

  落伍法律顾问: ITlaw-庄毅雄

手机版|找回帐号|不能发帖?|Archiver|落伍者

GMT+8, 2024-6-12 18:00 , Processed in 0.146089 second(s), 37 queries , Gzip On.

返回顶部