十
01
昨夜,导完庞大的数据库,连接上了,才发现数据库表和库的字符集有差异。表的字符集全是utf-8,库的属性却是莫名其妙的latin1_swedish_ci。听都没听过的字符集,Google了一下,原来是瑞典语。MySQL默认建立的数据库怎么会是瑞典语,好歹也应该是英语。
这得从MySQL的起源讲起:1979年,一家瑞典公司Tcx欲开发一个快速的多线程、多用户数据库系统。Tcx 公司起初想利用mSQL和他们自己的快速低级例程(Indexed Sequential Access Method,ISAM)去连接数据库表。然而,在一些测试以后得出结论:mSQL对其需求来说不够快速和灵活。这就产生了一个连接器数据库的新SQL接口,它使用几乎和mSQL一样的API接口。这个API被设计成可以使那些由mSQL而写的第三方代码更容易地移植MySQL。
从那开始,MySQL就使用瑞典语(开发人员的母语)作为默认语言了。
字符集是比较恼人的存在,所以特别提醒;新建MYSQL类型的数据库,一定要先指定字符集,否则瑞典人先入为主,你就得再费神了!
Address: http://99dev.net/archives/219
no comment untill now