微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP URLDecode / UTF8_Encode字符集特殊字符问题

我正在将一个英镑符号£传递给PHP页面,该页面已被ASP作为£URLEncoded编码.

问题:

urldecode("%C2%A3") // £
ord(urldecode("%C2%A3")) // get the character number - 194
ord("£") // 163  - somethings gone wrong, they should match

这意味着当我执行utf8_encode(urldecode(“£”))时,我得到了£

无论如何做utf8_encode(“£”)我按预期获得£

我怎么解决这个问题?

解决方法:

我不认为ord()是多字节兼容的.它可能只返回字符串中第一个字符的代码,即Â.在调用ord()之前尝试utf8_decode()字符串,看看是否有帮助.

ord(utf8_decode(urldecode("%C2%A3"))); // This returns 163

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐