全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
12
返回列表 发新帖
楼主: gftflb

一段百思不得其解的CURL代码(php代码)

[复制链接]
发表于 2019-2-22 14:03:41 | 显示全部楼层
阿里云虚拟主机上也没替换啊~~~直接复制的代码
发表于 2019-2-22 14:16:32 | 显示全部楼层
并不会把 〗 替小-姐
代码也没什么毛病.
发表于 2019-2-22 14:16:34 | 显示全部楼层
ubuntu,terminal编码改为gb2312,没你说的问题
发表于 2019-2-22 15:32:35 | 显示全部楼层


就是
小,姐:d0a1 bde3
〗:a1bd
秀:d0e3

这是gbk编码不能正确判断每个汉字的开始结束的问题。
建议把网页先转成utf8,然后你php源代码也用utf8来写,就不会有此类问题了。

点评

这XJJ这么秀  发表于 2019-2-22 17:02
大佬。  发表于 2019-2-22 16:56
MYI
正解+1  发表于 2019-2-22 16:56
牛!!!!  发表于 2019-2-22 16:43
正解  发表于 2019-2-22 15:46
发表于 2019-2-22 15:33:53 | 显示全部楼层
这啥网站啊==
 楼主| 发表于 2019-2-22 16:39:09 | 显示全部楼层
hdown 发表于 2019-2-22 15:32
就是
小,姐:d0a1 bde3
〗:a1bd

哥你太牛了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
二个字——服!
 楼主| 发表于 2019-2-22 16:55:04 | 显示全部楼层
hdown 发表于 2019-2-22 15:32
就是
小,姐:d0a1 bde3
〗:a1bd

按照你解读的原理,终于解决了。

如果需要最终内容为gb2312编码的话,先把获取到的内容全部转成UTF-8编码,再进行过滤替换,最终再次进行编码转换为gb2312,就没这个灵异般的事情了。

大佬牛!

  1. <?php
  2. $c = curl_init();
  3. curl_setopt($c, CURLOPT_URL,'http://www.xiasl.net/');
  4. curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
  5. curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
  6. curl_setopt($c, CURLOPT_HEADER, 1);
  7. $content = curl_exec($c);
  8. curl_close($c);
  9. $content=mb_convert_encoding($content, 'UTF-8', 'GB2312');//先转UTF-8
  10. $content=@str_replace('〗','',$content); //进行替换
  11. $content=mb_convert_encoding($content, 'GB2312', 'UTF8');//再转回GB2312
  12. echo $content;
  13. ?>
复制代码
发表于 2019-2-22 16:55:13 | 显示全部楼层
testuserll 发表于 2019-2-22 13:55
为啥我执行就不替换啊,Windows 下用phpstudy试的。

因为楼主是gb2312的php源码,你应该是utf-8的。所以你替换不到
发表于 2019-2-22 17:23:48 | 显示全部楼层
gftflb 发表于 2019-2-22 16:55
按照你解读的原理,终于解决了。

如果需要最终内容为gb2312编码的话,先把获取到的内容全部转成UTF-8编 ...


1、不要滥用@,我从业这么多年,没有看到过哪个同事写代码用到@的。除了临时修复一些兼容性场景而不考虑可维护性。
2、如无必要,不要引入额外的依赖。就是说不要用mbstring扩展来转码,iconv自带函数用起来没什么问题。
3、始终使用utf8编码来写php源码。

第二点只是一个好习惯,不是什么必须遵守的。

 楼主| 发表于 2019-2-22 17:42:59 | 显示全部楼层
hdown 发表于 2019-2-22 17:23
1、不要滥用@,我从业这么多年,没有看到过哪个同事写代码用到@的。除了临时修复一些兼容性场景而不考虑 ...

多谢指点!
因为没系统学习过,我都是通过google东拼西凑的代码,有需求就拼揍,看起来能用就当作生产工具来用了。
经常为了一个小问题花上整天时间Google不断复制粘贴然后调试,有时候你们内行的一句话、一个指点真的非常可贵和难得。真心的。
再次感谢大佬!这论坛能遇上你真庆幸!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-4-29 14:21 , Processed in 0.115413 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表