草根必学:如何区分GBK与UTF-8的应用
最近有很些朋友再刚刚接触一些PHP程序的时候都被再选择GBA或者是UTF-8这两种使用区分上产生了疑惑。 所以小弟就献丑了,找了一些资料来大体的说明下这两种编码的实际意义和用途,高手就飘过,新人觉得有用的就
* ?3 B/ H( u8 Y: J; S4 x 一,从字节上区分
: t! h/ W4 Z# S& h! v- { GBK的文字编码是双字节来表示的,即不论中、英文字符均使用双字节来表示,只不过为区分中文,将其最高位都定成1。& ]( p2 {/ \$ J6 s/ p% i) h' s+ f
UTF-8编码则是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。对于英文字符较多的论坛则用UTF-8节省空间。
7 d; D e0 Y1 D" z 二,字符上区分8 s4 A. y n( c/ t6 a0 X& _
GBK包含全部中文字符;
H' I% d! \; s5 e UTF-8则包含全世界所有国家需要用到的字符。0 o9 O/ q: \& n d8 j
三,编码上区分" Z# i% i! V/ z1 H+ S
GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准(好像还不是国家标准)# E: o8 G$ ^4 Z5 ^9 d. ?
UTF-8编码的文字可以在各国各种支持UTF8字符集的浏览器上显示。
' l) g1 }% l3 g' P Z W! x1 q 例如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,而无需他们下载IE的中文语言支持包。 所以,对于英文比较多的论坛 ,使用GBK则每个字符占用2个字节,而使用UTF-8英文却只占一个字节。! w. G% T+ P6 }: L& t4 }( ]
四,使用上区分
* U a$ v2 m# k: \- L GBK是中国国家编码,通用性比UTF8差,不过UTF8占用的数据库比GBK大,而且是一般做论坛的DZ这些程序,对应的组件和插件支持上GBK相应开发的比较全面点,再DIY的时候比较方便。
% R$ W4 {5 n1 L2 J M( @7 c' J$ [6 j UTF8是国际编码,它的通用性比较好,外国人也可以浏览论坛,而且中文可以直接识别,如果你的论坛要做的比较国际化那就必须用UTF8的。& j2 x, t, |5 D* ~; e
补充下:UTF8再繁体支持上比GBK有优势滴。3 M# A+ y" g, W; `1 u
对于DZ论坛来说,很多插件都只支持GBK的,如果需要装较多插件的论坛还是用GBK比较好,而对装较少插件且有特殊用户群的论坛用UTF8比较好。# c5 Y4 e& z! c$ i1 ^
所以,一般你要是做论坛只是国内的特定圈子里的就用GBK简单点,基本插件都可以安装,但是如果你的站有国外的市场需要就建议UTF8了,