我有个问题。我有使用escape()
函数在 AS3 中转义的 UTF-8 字符串。现在我想在 PHP 中对它们进行转义。问题是,如果我正在使用rawurldecode()
或者urldecode()
我只得到未转义的常见字符,例如 ./+[] 等,而不是特殊的拉丁字符(在我的情况下为 ĄČĘĖĮŠŲŪŽ) - 它们被留下编码。那么如何正确解码 PHP 中的字符串呢?
编辑 这也适用于 JavaScript。
谢谢!
我有个问题。我有使用escape()
函数在 AS3 中转义的 UTF-8 字符串。现在我想在 PHP 中对它们进行转义。问题是,如果我正在使用rawurldecode()
或者urldecode()
我只得到未转义的常见字符,例如 ./+[] 等,而不是特殊的拉丁字符(在我的情况下为 ĄČĘĖĮŠŲŪŽ) - 它们被留下编码。那么如何正确解码 PHP 中的字符串呢?
编辑 这也适用于 JavaScript。
谢谢!
当您将字符串发送到 PHP 时,您不必转义它们。Flash 为您做到这一点。
因此,如果它们已经被转义并且您可以对此做任何事情,只需在使用 URLLoader 发送它们之前取消转义它们。
你应该在 PHP 端有干净的值。
好的,我从同事那里得到了解决方案,它解决了这个问题
html_entity_decode(preg_replace("/%u([0-9a-f]{3,4})/i","&#x\\1;", urldecode($str)), null, 'UTF-8');