我正在将一个英镑符号£传递给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 举报,一经查实,本站将立刻删除。