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

标签 php encoding

我有以下字符串由客户端发送到服务器:

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($_GET)

原始字符串应该是:

33D3E1667CAFB061B5388192F94D900C44A0599C

我的问题是我不知道如何对此进行编码/解码以便我可以执行数据库搜索,因为归类类型不匹配。我尝试了 urlencode/urldecodemb_string_convertutf8_encodeiconv,但是没有运气。有什么想法吗?

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

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

我无法控制客户端的编码。奇怪的值来自使用 Laravel 的 Log::imfo()

将其记录到日志文件

最佳答案

您是否尝试过发送 post 请求而不是 get 请求,并将字符串作为实际字符串发送。

或者也许将您的数据库编码更改为 UTF-8(它可以很好地处理瑞典语,无需选择拉丁-瑞典语版本)。

关于PHP:$_GET 中的奇怪字符串编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34547298/

相关文章:

javascript - 从选择中获取选定值并发布到 MySQL 表

PHP自编码算法

Java Jersey Web资源编码

C#:用于解码 Quoted-Printable 编码的类?

php - 如何在阿拉伯语中使用类似文本的php代码

php - PHP 或 MySQL 中的低优先级请求

PHP 在不使用解包的情况下将主体读入字节数组

php - mysql中的更新表——删除旧的,插入新的,更新更新的

python - 将元组列表保存到文件时,“ascii”编解码器无法编码字符错误

python - 如何在 python 中解码来自 Facebook 的 JSON unicode 转义条目?