我需要将一个英镑符号£
传递给一个PHP页面,但是在ASP中进行了URL编码,变成了%C2%A3
。
问题:
urldecode("%C2%A3") // £
ord(urldecode("%C2%A3")) // get the character number - 194
ord("£") // 163 - somethings gone wrong, they should match
这意味着当我执行 utf8_encode(urldecode("%C2%A3"))
时,我得到的结果是 £
然而,执行 utf8_encode("£")
时,我得到了预期的结果 £
我该如何解决这个问题?
£
识别为163(十六进制:A3),这是正确的,但您得到了194,因为在A3之前有C2,而194=C2
...请看上面的String(2)
,但您只看到了"£"
,第一个字符不可见但仍然存在。在UTF-8中,您将看到£
而不是£
,这就是区别。 - Wh1T3h4Ck5