Php 文件\u get\u content()不适用于包含utf-8字符的url

Php 文件\u get\u content()不适用于包含utf-8字符的url,php,utf-8,Php,Utf 8,嗯,我正在尝试从某个网页获取HTML。此网页的URL中包含UTF-8字符,PHP向我提供了以下错误: 警告: 文件获取内容(): 无法打开流:HTTP请求失败!在中找不到HTTP/1.1 404 第102行的C:\xampp2\htdocs\test\index.php 第102行是: if($content = file_get_contents($this->link)){ 我确信这个问题实际上与URL中的“é”有关,因为当我尝试对一个不包含UTF8字符的URL使用这个函数时,它是有

嗯,我正在尝试从某个网页获取HTML。此网页的URL中包含UTF-8字符,PHP向我提供了以下错误:

警告: 文件获取内容(): 无法打开流:HTTP请求失败!在中找不到HTTP/1.1 404 第102行的C:\xampp2\htdocs\test\index.php

第102行是:

if($content = file_get_contents($this->link)){
我确信这个问题实际上与URL中的“é”有关,因为当我尝试对一个不包含UTF8字符的URL使用这个函数时,它是有效的

更具体地说,不使用UTF-8字符的URL是:

有人知道我能做什么吗


提前谢谢

答案比我想象的要简单

而不是使用原始URL

我使用方法
rawurlencode
仅对UTF-8字符进行编码,如:

$url = "http://enem.descomplica.com.br/gabarito/enem/2015/dia-1-2a-aplicacao/questoes/dubai-" . rawurlencode("é") . "-uma-cidade-estado-planejada-para/";

现在它工作了

答案比我想象的要简单

而不是使用原始URL

我使用方法
rawurlencode
仅对UTF-8字符进行编码,如:

$url = "http://enem.descomplica.com.br/gabarito/enem/2015/dia-1-2a-aplicacao/questoes/dubai-" . rawurlencode("é") . "-uma-cidade-estado-planejada-para/";

现在它工作了

你试过用旋度来做这个吗?是的,它没有给我错误,但它也不起作用看看这里和这里可能的重复你试过用旋度来做这个吗?是的,它没有给我错误,但它也不起作用看看这里和这里可能的重复