PHP:$_GET中的奇怪字符串编码

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP:$_GET中的奇怪字符串编码脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个客户端发送到服务器的以下字符串:

3%D3%E1f%7C%AF%B0a%B58%81%92%F9M%90%0CD%A0Y%9C // string in the actual URL
3Óáf|¯°aµ8’ùMD Yœ // var_dump(@R_777_1415@)

原始字符串应为:

33D3E1667CAFB061B5388192F94D900C44A0599C

我的问题是我无法弄清楚如何对此进行编码/解码,因此我可以执行数据库搜索,因为排序规则类型不匹配.我试过urlencode / urldecode,mb_string_convert,utf8_encode,iconv,但没有运气.有任何想法吗 ?

尝试使用字符串进行搜索时,Laravel会抛出以下异常:

'sqlstatE[HY000]: General error: 1267 Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE)...

我无法控制客户端的编码.奇怪的值是使用Laravel的LOG :: imfo()将其记录到日志文件

解决方法

是否尝试过发送请求而不是获取请求,并将该字符串作为实际字符串发送.

或者可能将您的数据库编码更改为UTF-8(它处理瑞典语就好了,不需要选择拉丁语 – 瑞典语版本).

脚本宝典总结

以上是脚本宝典为你收集整理的PHP:$_GET中的奇怪字符串编码全部内容,希望文章能够帮你解决PHP:$_GET中的奇怪字符串编码所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。