Использование file_get_contents() в домене с нелатинскими символами

Используя оболочки PHP fopen для получения источника удаленной страницы, отлично работает следующее:

$src = file_get_contents('http://www.somewhere.com/');

Однако этого не происходит, предположительно из-за нелатинского символа в имени домена:

$src = file_get_contents('http://www.sømewhere.no/');

Имейте в виду, что фактический домен является действительным, рабочим доменом (т. е. не где-то.com). Есть ли способ заставить это работать с помощью file_get_contents()?


person claviska    schedule 02.04.2012    source источник
comment
IP-адрес не соответствует точно определенному домену.   -  person David Rodrigues    schedule 03.04.2012


Ответы (1)


Тому есть много причин.

И вы можете начать изучение с преобразования этого имени в punycode.

Кстати, в настоящее время я не могу открыть этот домен

person zerkms    schedule 02.04.2012
comment
Верно... это пример домена. Реальный домен имеет такой же ø, что приводит к сбою, но это не мой домен, поэтому я не хотел указывать его здесь. - person claviska; 03.04.2012
comment
Я только что проверил это, и, похоже, это работает. Думаю, я проведу ночь, чтобы узнать больше о том, как работает Punycode, чтобы я мог правильно реализовать исправление. Спасибо! - person claviska; 03.04.2012