UTF-8编码与GBK编码的区别

一,从字节上区分

  GBK的文字编码是双字节来表示的,即不论中、英文字符均使用双字节来表示,只不过为区分中文,将其最高位都定成1。

  UTF-8编码则是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。对于英文字符较多的论坛则用UTF-8节省空间。

  二,字符上区分

  GBK包含全部中文字符;

  UTF-8则包含全世界所有国家需要用到的字符。

  三,编码上区分

  GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准(好像还不是国家标准)

  UTF-8编码的文字可以在各国各种支持UTF8字符集的浏览器上显示。

  例如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,而无需他们下载IE的中文语言支持包。 所以,对于英文比较多的论坛 ,使用GBK则每个字符占用2个字节,而使用UTF-8英文却只占一个字节。

  四,使用上区分

  GBK是中国国家编码,通用性比UTF8差,不过UTF8占用的数据库比GBK大,而且是一般做论坛的DZ这些程序,对应的组件和插件支持上GBK相应开发的比较全面点,再DIY的时候比较方便。

  UTF8是国际编码,它的通用性比较好,外国人也可以浏览论坛,而且中文可以直接识别,如果你的论坛要做的比较国际化那就必须用UTF8的。

  补充下:UTF8再繁体支持上比GBK有优势滴。

  对于DZ论坛来说,很多插件都只支持GBK的,如果需要装较多插件的论坛还是用GBK比较好,而对装较少插件且有特殊用户群的论坛用UTF8比较好。

  所以,一般你要是做论坛只是国内的特定圈子里的就用GBK简单点,基本插件都可以安装,但是如果你的站有国外的市场需要就建议UTF8了,

时间: 2024-11-06 18:39:35

UTF-8编码与GBK编码的区别的相关文章

如何将gbk编码转成utf8格式

编码 apache 字符集 GB 2312mysql 字符集 GBK现要从 mysql 中提出信息(GBK) 写入到 XML 中XML中的编码格式是 UTF-8 那么,如何将GBK编码成 UTF8 ?? 详细介绍:前一阵子见到了qiushuiwuhen君的关于gbk,unicode,big5的转换的文章 但是多少有一些不太大的问题 于是我设计了一个负责字符转换的类,修正了其中的一些不足,增加了部分功能,以后我会不断扩充该类,来支持更多的字符集 增加了如下几点: unicode->gbk 符号部分

详细阐述PHP环境下如何将GBK编码转成UTF-8格式

apache 字符集 GB 2312 mysql 字符集 GBK 现要从 mysql 中提出信息(GBK) 写入到 XML 中 XML中的编码格式是 UTF-8 那么,如何将GBK编码成 UTF8 ?? 具体介绍: 前一阵子见到了qiushuiwuhen君的关于gbk,unicode,big5的转换的文章 但是多少有一些不太大的问题 于是我设计了一个负责字符转换的类,修正了其中的一些不足,增加了部分功能,以后我会不断扩充该类,来支持更多的字符集 增加了如下几点: unicode->gbk 符号部

java IO之 编码 (码表 编码 解码 转换流)

编码 什么是编码? 计算机中存储的都是二进制,但是要显示的时候,就是我们看到的却可以有中国 ,a  1 等字符 计算机中是没有存储字符的,但是我们却看到了.计算机在存储这些信息的时候,根据一个有规 则的编号,当用户输入a 有a对映的编号,就将这个编号存进计算机中这就是编码.   计算机只能识别二进制数据. 为了方便应用计算机,让它可以识别各个国家的文字.就将各个国家的文字用数字来表示, 并一一对应,形成一张表,这就是编码表. 例如: 汉字 中  有一种编码: 中字在utf 8中对映的编码   

基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)

php导入到excel乱码是因为utf8编码在xp系统不支持所有utf8编码转码一下就完美解决了utf-8编码案例Php代码 复制代码 代码如下: <?php header("Content-Type: application/vnd.ms-excel; charset=UTF-8"); header("Pragma: public"); header("Expires: 0"); header("Cache-Control: m

基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)_php技巧

php导入到excel乱码是因为utf8编码在xp系统不支持所有utf8编码转码一下就完美解决了utf-8编码案例Php代码 复制代码 代码如下: <?php header("Content-Type: application/vnd.ms-excel; charset=UTF-8"); header("Pragma: public"); header("Expires: 0"); header("Cache-Control: m

jQuery ajax在GBK编码下表单提交终极解决方案(非二次编码方法)_jquery

前言: 当jquery ajax在utf-8编码下(页面utf-8,接收utf-8),无任何问题.可以正常post.get,处理页面直接获取正确的内容. 但在以下情况下: GBK -> AJAX POST ->GBK UTF-8 -> AJAX POST ->GBK 后台代码无法获取正确的内容,通常表现为获取到奇怪字符.问号. 经典解决方法: 1:发送页面.接收页面均采用UTF-8编码. 2:发送页面在调用ajax post方法之前,将含有中文内容的input用encodeURIC

在php中如何使用json_decode解析gbk编码的json字符串

今天看到csdn的bbs上有人问如何用json_decode解析gbk编码的串. 大家都知道,json都是utf8编码的.json_encode后的字符串都是会变成"\u4fe1\u6d77\u9f99"格式. 如下面的代码: $arr = "信海龙"; echo json_encode($arr); 输出结果为:"\u4fe1\u6d77\u9f99" 如果你有一个符合json格式的gbk编码的字符串,如何使用json_decode进行解析呢?

GBK编码PHP脚本导致语法错误

这个是因为, 在GBK环境下, "玕"的编码是"0xab 0x5c, 所以, 又是一个'5c'引发的问题.. 一般来说, 还是建议大家用unicode作为代码文件的字符集, 如果要使用GBK, 再主动转换下. 不过, 就问题说问题, 如果你的脚本非要GBK编码, 那怎么避免这个问题呢? 从PHP5.3开始, PHP引入了Zend Multibyte来支持多字符集编码. 对于上面的代码, 我们修改如下: 然后, 在php.ini中配置: mbstring.internal_en

swift 转码关于gbk编码问题

问题描述 swift 转码关于gbk编码问题 Swift 我想把uint8数组转成字符串,是gbk编码的.请教下我应该怎么转 解决方案 func UTF8ToGB2312(str: String) -> (NSData?, UInt) { let enc = CFStringConvertEncodingToNSStringEncoding(UInt32(CFStringEncodings.GB_18030_2000.rawValue)) var data = str.dataUsingEnco