楼主: gftflb

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

[复制链接]

169

主题

2114

回帖

4815

积分

论坛元老

积分
4815
发表于 2019-2-22 13:50:14 | 显示全部楼层

gftflb 发表于 2019-2-22 16:55

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

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


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

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

回复

使用道具 举报

30

主题

86

回帖

296

积分

中级会员

积分
296
 楼主| 发表于 2019-2-22 15:32:00 | 显示全部楼层
https://baike.baidu.com/item/%E5%B0%8F%E5%A7%90/242562?fr=aladdin
一切正常


回复

使用道具 举报

169

主题

2114

回帖

4815

积分

论坛元老

积分
4815
发表于 2019-2-22 15:32:35 | 显示全部楼层




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

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

30

主题

86

回帖

296

积分

中级会员

积分
296
 楼主| 发表于 2019-2-22 15:46:00 | 显示全部楼层

duxingfengyu 发表于 2019-2-22 13:43

单 替换,并没有小,姐,姐啊

只要替换“〗”这个字符,就会把内容中所有“小-姐”这个词,变成“秀”。
不替换“〗”这个字符,内容中“小-姐”这个词,就没有异样。
“〗”和“小-姐”有什么关系???????
百思不得其解。
回复

使用道具 举报

30

主题

86

回帖

296

积分

中级会员

积分
296
 楼主| 发表于 2019-2-22 16:43:00 | 显示全部楼层

求道鱼 发表于 2019-2-22 13:40

在变量content 中搜索‘〗’ 并替换为空

只要替换“〗”这个字符,就会把内容中所有“小-姐”这个词,变成“秀”。
不替换“〗”这个字符,内容中“小-姐”这个词,就没有异样。
“〗”和“小-姐”有什么关系???????
百思不得其解。
回复

使用道具 举报

622

主题

1185

回帖

4454

积分

论坛元老

积分
4454
发表于 2019-2-22 16:55:04 | 显示全部楼层

查无此人 发表于 2019-2-22 13:48

他是GBk,你是默认utf8。你先转一下字符集试试看

没用,试过了
回复

使用道具 举报

16

主题

874

回帖

1898

积分

金牌会员

积分
1898
发表于 2019-2-22 16:56:00 | 显示全部楼层
太深奥 看不懂 替换
回复

使用道具 举报

8

主题

123

回帖

300

积分

中级会员

积分
300
发表于 2019-2-22 16:56:00 | 显示全部楼层
单 替换,并没有小,姐,姐啊
回复

使用道具 举报

30

主题

86

回帖

296

积分

中级会员

积分
296
 楼主| 发表于 2019-2-22 17:02:00 | 显示全部楼层

hdown 发表于 2019-2-22 15:32

就是
小,姐:d0a1 bde3
〗:a1bd

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

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

大佬牛!

[ol]
  • [/ol]复制代码
  • 回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关注公众号

    相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

    Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

    在本版发帖
    关注公众号
    返回顶部