学着学着发现在控制台插入中文数据时显示出来竟然是乱码!!!又是吃了中文的亏呀!!要是全是英文,卵事没有!!强烈呼吁全世界早日统一语言,最好是只存在10种以下语言,有英文,中文,法文,德文,西班牙文,葡萄牙文,日文等就真心够了,搞那么多小语种真是浪费时间和精力,人生本来就很苦短,还偏偏要花费不少的时间学习各种不同的语言,对资源是极大的浪费。。。。。。秦始皇虽然残暴,但是光凭他统一了文字,度量衡等各种标准就是造福千年万年的伟大贡献;要不然,祖国各地各省的文字都不同,想想就蛋疼不已;我相信,只要地球不毁灭,人类生存得足够长,全世界早晚还得继续淘汰很多种语言如越南语,藏语,丹麦语等等,最后只剩下少数几种标准语言,甚至全世界都使用同一种货币!!!当然了,在我有生之年,我是看不到这一历史时刻的,相信大家也看不到。。。。。。。。
越扯越远了,言归正传,继续讨论编码!!!
首先打开mysql客户端,输入:show variables like '%char%';
会显示各种字符集变量:
我们看到database和server这两个选项都是系统默认的latin1,所以不支持中文。这两个选项在客户端是没法改的,只要重新启动就又回到默认设置了。
所以我们在创建新数据库时,输入:
mysql>create database mydb character set utf8;
这样就省事了,也就多3个单词而已;
看看效果:
中文再也不是显示为????了;好的,搞定;
至于另一句mysql>alter database mydb character set utf8;
我暂时还没去测试,不知管不管用;
utf_bin和utf_general_ci这两者到底有什么区别。。
ci是 case insensitive, 即 "大小写不敏感", a 和 A 会在字符判断中会被当做一样的;