Urldecode 斯堪的纳维亚 ascii 值

Urldecode scandinavian ascii values

我需要帮助解码 url 编码的斯堪的纳维亚 ASCII 值 PHP。

我试过像这样解码 å 字符:

$string = "%e5";
echo rawurldecode($string);

但这给出了黑钻�。 urldecode() 函数的结果相同。

我在 head 中使用 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta charset="utf-8">

在像 %61 这样的英文字母上使用 rawurldecode() 函数时效果很好。 有关所有 url 编码的 ASCII 代码,请参见 http://www.backbone.se/urlencodingUTF8.htm

utf-8字符集不包含e5编码

请使用 utf-8 字符集检查 table。 尝试使用有效的 utf-8 字符串。

"scandinavian ascii" rawurldecode 不支持字符集。

试试其中一个支持 CP865 的 iconv 函数(我猜这是你想要支持的字符集):

http://php.net/manual/ro/function.iconv-mime-decode.php

http://php.net/manual/ro/function.iconv-mime-decode-headers.php

E5 是字符 å 的 ISO-8859-1 编码表示。

您的问题是您输出的是 ISO-8859-1 编码的字符串,却告诉浏览器将其解释为 UTF-8。更改 HTTP headers/meta 标记中的编码,或将字符串从 8859 转换为 UTF-8:

echo utf8_encode(rawurldecode('%e5'));

(几乎从来没有 utf8_encode 的好时机,但在这种情况下,它实际上简洁地执行了所需的字符集转换。通常你应该更喜欢使用 iconv 的显式字符集转换或 mb_convert_encoding.)