欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

为啥有的页面乱码,为什么有的乱码不乱码?有点晕

程序员文章站 2024-02-20 09:59:34
...
为什么有的页面乱码,为什么有的乱码不乱码?有点晕
请看这两个页面:http://www.qgren.com/qigong/gongfa/15_30.shtml
摘要出现乱码。

再看这个页面:http://www.qgren.com/qigong/gongfa/15_28.shtml
摘要没有乱码,很正常。

在网站,部分页面正常,部分页面摘要乱码。我有点晕。
程序是dedecms,gbk版本。我网页模板也是gbk。

调用摘要的代码如下:
{dede:field.description runphp='yes'}
if(@me'' )@me = '

摘要:'.@me.'

';
{/dede:field.description}

不知道谁能解我疑惑,为什么会这样?
------解决思路----------------------
无余没、无余欲 後有特殊字符。
檢查一下。
------解决思路----------------------
被加入了空格,删掉即可
观察到 meta 中是一样的乱码,所以就从 meta 中取了
$t = get_meta_tags('http://www.qgren.com/qigong/gongfa/15_30.shtml');
echo '乱码:', $s = $t['description'], PHP_EOL;
echo '还原:', str_replace(' ', '', $s);
乱码:阿难。有犯戒。彼于心解脱、慧解脱如实知。彼于所起犯戒无余灭、无余没、无余欲? 5敝侨耸そ煌恕N宜当巳宋そ帧W苑侨缋础4硕屑洹K芟ぶJ枪省0⒛选D锪咳巳硕 H松瞥锪咳巳硕 H顺锪咳巳恕
还原:阿难。有犯戒。彼于心解脱、慧解脱如实知。彼于所起犯戒无余灭、无余没、无余欲荆当知是人胜进不退。我说彼人为胜进分。自非如来。此二有间。谁能悉知。是故。阿难。莫筹量人人而龋人善筹量人人而玻人筹量人人

------解决思路----------------------
$t = get_meta_tags('http://www.qgren.com/qigong/gongfa/15_30.shtml');
$s = $t['description'];

$n = strpos($s, '欲')+2;
$t = substr($s, $n);
echo bin2hex('尽。当'), PHP_EOL;
echo bin2hex($t), PHP_EOL;

$n = strpos($s, '而')+2;
$t = substr($s, $n);
echo bin2hex('取。人'), PHP_EOL;
echo bin2hex($t), PHP_EOL;

echo str_replace(' ', "\xa1\xa1", $s), PHP_EOL;

echo bin2hex(' '); //再看看全角空格
bea1a1a3b5b1
be20a3b5b1d6aacac7c8cbcaa4bdf8b2bbcdcba1a3ced2cbb5b1cbc8cbceaacaa4bdf8b7d6a1a3d7d4b7c7c8e7c0b4a1a3b4cbb6fed3d0bce4a1a3cbadc4dccfa4d6aaa1a3cac7b9caa1a3b0a2c4d1a1a3c4aab3efc1bfc8cbc8cbb6f8c820a3c8cbc9c6b3efc1bfc8cbc8cbb6f8b220a3c8cbb3efc1bfc8cbc8cba1
c8a1a1a3c8cb
c820a3c8cbc9c6b3efc1bfc8cbc8cbb6f8b220a3c8cbb3efc1bfc8cbc8cba1
阿难。有犯戒。彼于心解脱、慧解脱如实知。彼于所起犯戒无余灭、无余没、无余欲尽。当知是人胜进不退。我说彼人为胜进分。自非如来。此二有间。谁能悉知。是故。阿难。莫筹量人人而取。人善筹量人人而病。人筹量人人?
a1a1


很显然,你在处理文字时做了将全角空格替换成半角空格的处理
这就是问题的根源!
为啥有的页面乱码,为什么有的乱码不乱码?有点晕

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频