免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3215 | 回复: 6
打印 上一主题 下一主题

[mb] 怎么大家都没发现这个问题呢? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-09-27 17:38 |只看该作者 |倒序浏览

  1. <?php
  2. echo mb_detect_encoding( "cu中国" );  // 错误,显示为utf-8
  3. echo mb_detect_encoding( "cu中国", "utf-8,gb2312" );  // 显示正确,为EUC-CN
  4. echo mb_detect_encoding( "cu中国", "utf-8,iso-8859-1,gb2312" ); //错误,显示为iso-8859-1
  5. ?>
复制代码


大家注意看结果是什么。不是期望的gb2312(ECS-CN),而是UTF-8!字串本身是GB2312的。

这是函数BUG吗?谁能给个合理的解释????

[ 本帖最后由 powerpolly 于 2007-9-27 17:59 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-09-27 22:12 |只看该作者
自己顶顶

论坛徽章:
0
3 [报告]
发表于 2007-09-27 23:03 |只看该作者
帮你顶顶!:wink:

论坛徽章:
0
4 [报告]
发表于 2007-09-28 13:58 |只看该作者
这不是 BUG,而是两种编码并不一定完全可以分辨。

论坛徽章:
0
5 [报告]
发表于 2007-09-28 23:18 |只看该作者
原帖由 dz902 于 2007-9-28 13:58 发表
这不是 BUG,而是两种编码并不一定完全可以分辨。


这种说法不能令大家满意吧?

既然分不清,还要detect有何意义?

论坛徽章:
0
6 [报告]
发表于 2007-09-29 08:17 |只看该作者
原帖由 powerpolly 于 2007-9-29 01:18 发表


这种说法不能令大家满意吧?

既然分不清,还要detect有何意义?


给你一个字符串,Hex 形式:

xD3 xD4

你能直接分辨是 GB2312 还是 ISO-8859-1 吗?

再给你一个字符串,也是 Hex 形式:

x41 x42 x43 x44 x45 x56 x61

你能分辨是 ASCII 还是 GB2312 还是 ISO-8859-1 吗?

甚至直接给你一个字,告诉你这个字是 GB2312 编码的:

「釉」字。

但我也可以说我其实要的不是这个字,我要的是 ÓÔ 两个字符,用 ISO-8859-1 编码。

OK?

论坛徽章:
0
7 [报告]
发表于 2007-09-29 08:43 |只看该作者
ding
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP