我需要帮助用PHP解码url编码的斯堪的纳维亚ASCII值。
我尝试过解码å字符:
$string = "%e5";
echo rawurldecode($string);
但这会产生黑色钻石 。与urldecode()函数的结果相同。
我正在使用<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta charset="utf-8">
。
在像%61这样的英文字母上使用rawurldecode()函数时效果很好。 有关所有网址编码的ASCII代码,请参阅http://www.backbone.se/urlencodingUTF8.htm。
答案 0 :(得分:0)
utf-8字符集不包含e5代码。
请使用utf-8字符集查看表格。 尝试使用有效的utf-8字符串。
&#34; scandinavian ascii&#34; rawurldecode不支持字符集。
尝试其中一个支持CP865的功能iconv(我想这是你想要支持的字符集):
http://php.net/manual/ro/function.iconv-mime-decode.php
http://php.net/manual/ro/function.iconv-mime-decode-headers.php
答案 1 :(得分:0)
E5
是字符å。
您的问题是您输出的是ISO-8859-1编码字符串,但却告诉浏览器将其解释为UTF-8。更改HTTP标头/元标记中的编码,或将字符串从8859转换为UTF-8:
echo utf8_encode(rawurldecode('%e5'));
(utf8_encode
几乎没有时间,但在这种情况下,它实际上简洁地执行了所需的字符集转换。通常,您应该更喜欢使用iconv
或{{1}进行显式字符集转换}}。)子>