Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Посоветуйте хороший метод для определения кодировки.

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Посоветуйте хороший метод для определения кодировки.
Имя
Сообщение << Старые топики   Новые топики >>
Посоветуйте хороший метод для определения кодировки. - 2009-11-25 16:14:34.423333   
Agent Smith

Сообщений: 976
Оценки: 0
Присоединился: 2007-04-10 21:56:49.593333
Я знаю, что в арсенале PHP есть функции, при помощи которых можно определить кодировку текста, однако, к моему удивлению и огорчению, они не всегда выдают правильный результат. На офф сайте (php.net) есть очень много примеров, где описано, как определить кодировку текста, однако использовать нужно какой-то один для проверки.
Post #: 1
RE: Посоветуйте хороший метод для определения кодировки. - 2009-11-25 16:22:52.636666   
Pashkela

Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
&lt;?php $q = 'вася РїСЂСЏРЅРёРєРѕРІ'; $s = mb_detect_encoding($q);//Определяем кодировку $q = iconv($s, 'CP1251//TRANSLIT', $q);//Декодируем echo $s . "&lt;br&gt;"; echo $q . "&lt;br&gt;"; ?&gt;
Post #: 2
RE: Посоветуйте хороший метод для определения кодировки. - 2009-11-25 18:35:12.103333   
oRb

Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
У меня была недавно схожая ситуация. Надо было определить в какой кодировки заливаются файлы. cp1251 или utf8. mb_detect_encoding никак не хотел нормально работать. Нашел в инете небольшую функцию, которая решила мою проблему:
function detectUTF8($string) { return preg_match('%(?:[\xC2-\xDF][\x80-\xBF]|\xE0[\xA0-\xBF][\x80-\xBF]|[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}|\xED[\x80-\x9F][\x80-\xBF]|\xF0[\x90-\xBF][\x80-\xBF]{2}|[\xF1-\xF3][\x80-\xBF]{3}|\xF4[\x80-\x8F][\x80-\xBF]{2})+%xs', $string); }
Post #: 3
RE: Посоветуйте хороший метод для определения кодировки. - 2009-11-26 10:30:53.123333   
Agent Smith

Сообщений: 976
Оценки: 0
Присоединился: 2007-04-10 21:56:49.593333
quote:

ORIGINAL: oRb

У меня была недавно схожая ситуация. Надо было определить в какой кодировки заливаются файлы. cp1251 или utf8. mb_detect_encoding никак не хотел нормально работать. Нашел в инете небольшую функцию, которая решила мою проблему:
function detectUTF8($string) { return preg_match('%(?:[\xC2-\xDF][\x80-\xBF]|\xE0[\xA0-\xBF][\x80-\xBF]|[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}|\xED[\x80-\x9F][\x80-\xBF]|\xF0[\x90-\xBF][\x80-\xBF]{2}|[\xF1-\xF3][\x80-\xBF]{3}|\xF4[\x80-\x8F][\x80-\xBF]{2})+%xs', $string); }
Реагирует позитивно только на cp-1251. А как распознать cp-1252? И вообще, есть разница между cp-1252(Windows), cp-1252(Linux), cp-1252(Mac)?
Post #: 4
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Посоветуйте хороший метод для определения кодировки.







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.