Форум поддержки абонентов Utel Ростелеком - Урал (Уралсвязьинформ): Помогите! Как из php скрипта определить кодировку. - Форум поддержки абонентов Utel Ростелеком - Урал (Уралсвязьинформ)

Перейти к содержимому

Реклама от Google


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Помогите! Как из php скрипта определить кодировку. Страничка загружается с удаленного ресурса

#1 Пользователь офлайн   u-help Иконка

  • http://u-help.ru
  • PipPipPipPipPipPip
  • Группа: Главные администраторы
  • Сообщений: 7945
  • Регистрация: 22-April 08
  • Пол:Муж.
  • Регион:Пермь
  • Интересы:Интернет, Автомобили, Экономика, Программирование

Отправлено 27 March 2009 - 01:42 PM

Есть вот такой вот код:
Код
<?php
$url=$_GET['link'];

// Загружаем файл с удаленного сервера
dl("php_curl.dll"); // Подключаем curl - только для windows

//Устанавливаем локаль
setlocale(LC_ALL,"ru_RU.utf8");

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url); /* Страничка которую подгружаем из интернета */
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT,10);
curl_setopt($ср, CURLOPT_HTTPHEADER,$header); /* Получаем заголовок */
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_COOKIEJAR,$_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt');
$result = curl_exec($ch); // получили страничку в переменную $result

?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>

<?php
echo $result;
curl_close($ch);
?>

<body>
<form name="form1" method="get" action="content.php">
  url:
  <input type="text" name="link">
  <input type="submit" name="Submit" value="Submit">
</form>
</body>
</html>


1-й вариант. Мы должны извлечь строчку: Content-Type: text/html; charset=windows-1251 и по ней распознать кодировку.
2-й вариант. Еще есть такой тег <META http-equiv="Content-Type" content="text/html" charset="windows-1251">. В этом случае объявление META должно использоваться, только если кодировка организована как ASCII-значащие байтовые позиции для символов ASCII (хотя бы до того, как элемент META уже разобран).
3-й вариант. HTTP параметр "charset" в поле "Content-Type". Объявление META с "http-equiv", установленным в "Content-Type", и значением, установленным в "charset". Атрибут charset, установленный в элементе, обозначающем внешний ресурс.

Какие варианты определения кодировки могут быть еще?

PS: Может быть вариант, что при загрузке страничке загрузится "301 Moved Permanently"
0

#2 Пользователь офлайн   u-help Иконка

  • http://u-help.ru
  • PipPipPipPipPipPip
  • Группа: Главные администраторы
  • Сообщений: 7945
  • Регистрация: 22-April 08
  • Пол:Муж.
  • Регион:Пермь
  • Интересы:Интернет, Автомобили, Экономика, Программирование

Отправлено 27 March 2009 - 04:46 PM

В общем решил, что правильно это средствами curl не получится. Так как не осилил как прочитать http headers.
Буду пробовать юзать сокеты. sad.gif
0

#3 Пользователь офлайн   inpost Иконка

  • Пользователь
  • Pip
  • Группа: Пользователь
  • Сообщений: 2
  • Регистрация: 14-May 11
  • Регион:Челяюинская Область

Отправлено 14 May 2011 - 05:20 PM

u-help, походу ты тут у тебя блог... :D
0

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей