网上查询了一番,还是满头雾水。
GB2312是简体字,有很多字没包含进来;
GBK是包含了繁体字和简体字,
UTF8包含所有繁体字,简体字和外文,
Big5只包含繁体字。我的网站面向中文用户,但肯定要支持繁体字和少见字,
那只能选GBK或UTF8了,GBK显然比UTF8省空间。到底该怎么选呢?依据什么?
还有,我的MySql安装时已经默认为GB2312了,
数据库和表都已经创建完毕,部分还有了原始数据。
要怎么设置,才能更好的支持繁体字和少见字?又不影响之前的数据?
MySql支持对数据库,表,甚至字段单独设置字符集,那不是很麻烦?谢谢。
GB2312是简体字,有很多字没包含进来;
GBK是包含了繁体字和简体字,
UTF8包含所有繁体字,简体字和外文,
Big5只包含繁体字。我的网站面向中文用户,但肯定要支持繁体字和少见字,
那只能选GBK或UTF8了,GBK显然比UTF8省空间。到底该怎么选呢?依据什么?
还有,我的MySql安装时已经默认为GB2312了,
数据库和表都已经创建完毕,部分还有了原始数据。
要怎么设置,才能更好的支持繁体字和少见字?又不影响之前的数据?
MySql支持对数据库,表,甚至字段单独设置字符集,那不是很麻烦?谢谢。
MySql对中文的支持,真是不敢恭维。
varchar(30), 我只输入一个"埇" 字,你也说too long,要不要脸?
用latin1或gb2312单字节还情有可原,我都改成gbk或utf8了,还叫。
不但database改了, table改了,collumn改了,还继续叫。
彻底无语。
难道MySql对少用字的自动化识别支持就那么难?
没用过MySql
只能帮你顶下~~
1)如果只是面对国内用户,使用gbk就够用了,它是gb2312的扩展。
它的好处是,兼容gb2312,支持更多汉字,包括繁体字,
同时因为它使用两字节编码,比utf8节约空间和带宽,因utf8汉字用三四个字节;
2)如果考虑国际化和多国语言兼容,或者对性能空间没过多要求,最好使用utf8,
它是事实上的国际标准.
结论:国内用GBK足够,通用化标准化用utf8.2.MySql字符集的设置(以gbk为例)
(1)在安装时,就可以选择gbk,以后所有默认字符集都是gbk;
(2)如果已经安装了,要修改,在Win下可以找到my.ini文件,
方式:开始->控制面板->管理工具->服务 ,找到MyQsql,右键属性,根据路径找到my.ini,
打开并修改:
default-character-set=gbk
然后同样在服务页面重启MySql即可。此后新建的dataBase 和table,将默认为gbk (3)典型语句 建立数据库:
CREATE DATABASE IF NOT EXISTS myDB default charset gbk COLLATE gbk_chinese_ci; 建立数据库表:
create table MyTable (...) type=myisam default charset gbk; 修改数据库字符集
alter table MyTable charset=GBK; 查看字符集语句:
SHOW character set;
SHOW VARIABLES LIKE 'character%';
SHOW VARIABLES LIKE 'collation_%';
3.除了默认的字符集,可以针对每一个数据库,每一个表,每一个字段指定字符集。方法略。4.在MySql Command Line Client执行指令时,
必须保证环境跟目标数据库表的字符集一致,否则输入的数据或查询结果都不正确。
如果数据库表是gbk,则在执行指令前,用以下指令指定:set names gbk;
如果都采用了默认的设置,就不必使用该语句。以上。注:Data too long for column用gbk搞定了,
设置为utf8还是不行,可能是某个地方没设成utf8)