How to open url having Arabic text using php file-get-contents function

懵懂的女人 提交于 2019-12-21 23:06:23

问题


I want to get html from a URL having some Arabic like

http://www.example.com/2013/07/31/الاختبار.html

using php. I tried with

file_get_html("http://www.example.com/2013/07/31/الاختبار.html")

but it is giving the following error

Warning: file_get_contents(http://www.example.com/2013/07/31/الاختبار.html) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found in filename.php

Please help.

http://www.example.com/2013/07/31/الاختبار.html

is for reference only, doesn't exist.


回答1:


URLs can't contain non-ASCII characters.

Where it seems that they do, it's in fact the browser silently converting your characters into URLescaped ones in the background.

When you paste this URL into your browser:

http://www.example.com/2013/07/31/الاختبار.html

will in reality look like this:

http://www.example.com/2013/07/31/%D8%A7%D9%84%D8%A7%D8%AE%D8%AA%D8%A8%D8%A7%D8%B1.html

PHP doesn't have this ability to silently convert characters; you'll have to do it manually. To do that, run PHP's urlencode() over the URL before making the call.



来源:https://stackoverflow.com/questions/17963784/how-to-open-url-having-arabic-text-using-php-file-get-contents-function

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!