Авто определение кодировки

Статус
В этой теме нельзя размещать новые ответы.
V

VictorVi

Прохожие
Кто как определяет кодировку страницы?
Я обычно делал вот такое простое действие:

PHP:
	/**
	 * Определяем кодировку. Конвертим контент в соответствии с кодировкой.
	 */
	if (preg_match("/charset=([^\"\'<\s]+)/",$strContent, $strMatch)){
		$charset=trim($strMatch[1]);
	}
	
	if (strlen($charset)>0){
		$strContent=iconv($charset, "cp1251", $strContent);
	}

Но порой чудо разработчики сайтов ставят в чарсет утф-8, а сайт на самом деле на cp-1251. Отсюда вопрос - как сделать универсальный конвертер, что бы он сам определял что за кодировка в тексте файла. Никто с таким не сталкивался? Интересует автоопределялка для cp-1251 koi8r и utf-8.
 
Того что мне надо нет по указанонй сссылке нет.
Но все же нашел хорошее решение.
 
Вы код смотрели? Такое через Ж я не видел со времен php3, в общем время первого коментария говорит сам за себя: 22.06.06
В общем то я имел в виду код:
PHP:
<?php
function detect_encoding($string) { 
  static $list = array('utf-8', 'windows-1251');
 
  foreach ($list as $item) {
    $sample = iconv($item, $item, $string);
    if (md5($sample) == md5($string))
      return $item;
  }
  return null;
}
?>
доработанный он позволяет уложиться в строчек 30 вместо 330, с несомненным выигрышем по времени
 
Порой работающее решение бывает лучше, чем некрасивый код.
Спасибо за красивое решение моей проблемы. Точно до такого бы не дошел =)
 
ну вот же была такая тема
Для просмотра ссылки Войди или Зарегистрируйся
не катит, тема немного другая, в той теме нет решения текущей задачи

VictorVi, В решениях времен до эры php5 можно брать только идеи но не их исполнение, очень много полезных операторов появилось с тех пор и 95% хостингов научились собирать нормально php.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху