Как распознать кодировку в PHP

Как узнать кодировку данных, которые вы только что получили из какого-либо файла (csv, xls) или даже из $_GET-строки?

В PHP есть специальная функция mb_detect_encoding, но сходу она определит ерунду, инфа 100%

Мой способ работает следующим образом:
Определяется UTF-8 это или нет. То есть я рассматриваю случай, где стоит выбор между CP1251 и UTF-8.

Помогла мне страница http://php.net/manual/ru/function.mb-detect-encoding.php, а точнее комментарий..

итак решение:

$data = 'Текст для распознавания';
setlocale(LC_CTYPE, 'ru_RU');
$kodirovka = mb_detect_encoding($data, 'UTF-8', TRUE);
if (!$kodirovka ){
	$data=iconv('CP1251', 'UTF-8', $data);
}		
Запись опубликована автором в рубрике PHP.

Добавить комментарий