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
.)
我需要帮助解码 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
.)