php - gb2312不是不能表示繁体中文吗?

 守望天空2502870383 发布于 2022-12-01 17:24

查了下gb2312只能表示简体中文(6000多个汉字),而gbk是gb2312的扩展(兼容gb2312),可以表示(2万多个汉字)。



    
    


简体中文
繁體中文


运行上面代码的时候,发现繁體中文可以正常显示的,并不会乱码,哪里错了吗?

5 个回答
  • 在 Windows 上,GB2312 是 cp936 的别名,它是 GBK 或者 GB18030 我不太清楚了。

    在其它平台,GB2312 还是真正的 GB2312,比如你在 Linux 上拿 Python 解析国内声明为 GB2312 的网页时一遇到生僻字或者繁体字就会报错了。

    >>> print -l 简体中文 繁體中文| iconv -f utf-8 -t gb2312
    �
     ��iconv: 未知 16 处的非法输入序列
    >>> print -l 简体中文 繁體中文| iconv -f utf-8 -t gbk
    �
     ��
    

    前一命令在「體」字上转码出错了,后一命令成功执行。

    2022-12-01 19:27 回答
  • GB 2312字符集并未包括繁体字,只有少数几个特例,这在维基百科GB 2312上有提到,所以如果严格按照GB 2312编码存储,会造成字符数据丢失。但是在Windows平台上当Locale是中国大陆时用非Unicode字符集进行汉字编码,默认会采用的是兼容GB 2312的GBK或GB 18030编码,这两个字符集都包含繁体字。

    2022-12-01 19:27 回答
  • 摘自 Wiki GB 2312

    GB 2312 或 GB 2312-80 是中华人民共和国国家标准 简体中文字符集

    2022-12-01 19:27 回答
  • 不能。繁体应当是Big5.
    你到浏览器里面看看,当前是什么字符集。

    2022-12-01 19:27 回答
  • GB2312 GB2312

    2022-12-01 19:27 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有