一段百思不得其解的CURL代码(php代码)
本帖最后由 gftflb 于 2019-2-22 13:49 编辑[*]
[*]复制代码
大佬请运行下,看看为什么文本中“小-姐”这个词会莫名其妙的被修改?
只要替换“〗”这个字符,就会把内容中所有“小-姐”这个词,变成“秀”。
百思不得其解。
大佬可以换其他含有“小-姐”这个词的网页url获取试试
替换“〗”的结果
不替换“〗”的结果
就是
小,姐:d0a1 bde3
〗:a1bd
秀:d0e3
这是gbk编码不能正确判断每个汉字的开始结束的问题。
建议把网页先转成utf8,然后你php源代码也用utf8来写,就不会有此类问题了。
hdown 发表于 2019-2-22 15:32
就是
小,姐:d0a1 bde3
〗:a1bd
按照你解读的原理,终于解决了。
如果需要最终内容为gb2312编码的话,先把获取到的内容全部转成UTF-8编码,再进行过滤替换,最终再次进行编码转换为gb2312,就没这个灵异般的事情了。
大佬牛!
[*]
[*]复制代码 太深奥 看不懂 替换 单 替换,并没有小,姐,姐啊
求道鱼 发表于 2019-2-22 13:40
在变量content 中搜索‘〗’ 并替换为空
只要替换“〗”这个字符,就会把内容中所有“小-姐”这个词,变成“秀”。
不替换“〗”这个字符,内容中“小-姐”这个词,就没有异样。
“〗”和“小-姐”有什么关系???????
百思不得其解。
duxingfengyu 发表于 2019-2-22 13:43
单 替换,并没有小,姐,姐啊
只要替换“〗”这个字符,就会把内容中所有“小-姐”这个词,变成“秀”。
不替换“〗”这个字符,内容中“小-姐”这个词,就没有异样。
“〗”和“小-姐”有什么关系???????
百思不得其解。
查无此人 发表于 2019-2-22 13:48
他是GBk,你是默认utf8。你先转一下字符集试试看
没用,试过了 https://baike.baidu.com/item/%E5%B0%8F%E5%A7%90/242562?fr=aladdin
一切正常
https://ww1.sinaimg.cn/large/007i4MEmgy1g0f59pu121j30q70b1my0.jpg
为啥我执行就不替换啊,Windows 下用phpstudy试的。阿里云虚拟主机上也没替换啊~~~直接复制的代码
页:
[1]
2