我有这些阿拉伯语句子:
نايتيد أمامه عشرة أيام فقط لكي يقرر مستقبل برباتوف في النادي
必须将其发送到URL中。 我尝试了以下方法:
$url = 'http://example.com/?q='.urlencode('نايتيد أمامه عشرة أيام فقط لكي يقرر مستقبل برباتوف في النادي');
那种编码的结果是: %D9%86%D8%A7%D9%8A%D8%AA%D9%8A%D8%AF+%D8%A3%D9%85%D8%A7%D9%85%D9%87+%D8%B9%D8%B4%D8%B1%D8%A9+%D8%A3%D9%8A%D8%A7%D9%85+%D9%81%D9%82%D8%B7+%D9%84%D9%83%D9%8A+%D9%8A%D9%82%D8%B1%D8%B1+%D9%85%D8%B3%D8%AA%D9%82%D8%A8%D9%84+%D8%A8%D8%B1%D8%A8%D8%A7%D8%AA%D9%88%D9%81+%D9%81%D9%8A+%D8%A7%D9%84%D9%86%D8%A7%D8%AF%D9%8A
但php脚本在$_GET['q']查询字符串中接收到的是:
نايتيد أمامه عشرة أيام Ùقط لكي يقرر مستقبل برباتو٠ÙÙŠ النادي
这个 PHP 文件是 UTF-8 编码的。有什么想法吗?
$_GET['q']
的值的? - Woobleiconv
或mb_convert_encoding
来实现。此外,“默认情况下”应该使用rawurlencode
而不是urlencode
,除非有具体原因不这样做。 - Jonfile_put_contents('test', $_GET['q'])
并启用utf8编辑器打开它来检查它是否真的不是utf8吗? - piotrekkr