首页 > 后端开发 > php教程 > 字符串转码问题

字符串转码问题

WBOY
发布: 2016-06-23 14:28:27
原创
1010 人浏览过

utf-8 gbk

$str="黑色";
这个字符串我用mb_detect_encoding函数检查是 UTF-8编码,
$s1 = iconv ( 'utf-8', 'gbk', $string );
$s1 = mb_convert_encoding ( $string, "GBK", "UTF-8" );

我用上面两种方法进行转码,结果都会乱码,请教是什么原因?

回复讨论(解决方案)

字符太少的情况下detect会不准确的
至于乱码还会受输出的编码影响,例如页面指定编码是gbk,但php输出的是utf-8字串,因素很多

$str="黑色";
如果用mb_detect_encoding函数检查是 UTF-8编码
那么就表示你的程序文件是 utf-8 编码的
既然程序是 utf-8 编码的,当然输出也就是 utf-8 的了
你把 utf-8 的转成 gbk 的,出现乱码就是必然的了

乱码很正常啊,你的页面是utf8的,但是你显示gbk的内容,所以就乱码了

你echo urlencode($s1);看看结果应该是每个汉字两字节的结果 %BA%DA%C9%AB,这个就是gbk的黑色。

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板