http://localhost/fw/api/fw_api.php?rule=unicode&action=create&phrase=යුනිකෝඩ්
我访问上面的网址。在fw_api.php
,当我回显$_SERVER['QUERY_STRING']
它没有给出 URL 中的 Unicode 短语值“යුනිකෝඩ්”的实际值。有没有解决这个问题的方法,或者我在这里做/期待什么错误?需要帮忙。
header ('Content-type: text/html; charset=utf-8');
echo $_GET['phrase'];
echo $_SERVER['QUERY_STRING'];
die;
实际结果:
යුනිකෝඩ්
规则=unicode&action=create&phrase=%E0%B6%BA%E0%B7%94%E0%B6%B1%E0%B7%92%E0%B6%9A%E0%B7%9D%E0%B6%A9%E0 %B7%8A
我所期望的
යුනිකෝඩ්
规则=unicode&action=create&phrase=යුනිකෝඩ්
The actual值为actually“%E0%B6%BA%E0%B7%94%E0...”!
URL 必须由 ASCII 的子集组成,不能包含其他“Unicode 字符”。您的浏览器可能非常好,可以让您输入任意 Unicode 字符并实际将它们显示为字符,但在幕后,URL 值是编码百分比。你必须用它来解码它rawurldecode http://php.net/rawurldecode.
查询字符串由 PHP 自动解析和解码,并放置在$_GET
数组(和$_POST
对于请求正文)。但是您必须自己解析和解码原始查询字符串。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)