![]() |
Кодировка автоматом!
Есть строка текста русского в неизвестной кодировке.
Нужно распознать, что это за кодировка (win-1251, koi8-r, etc) Есть ли какие стандартные средства (ну или не очень стандартные) в ПХП? Может модуль какой или набор библиотек? Была идея разработать набор своих функций с методом частотного анализа текса, но в общем даже не знаю, может есть чего готовое? |
Не скажу, что способ изящен, но поставленную задачу он решает.
1. Перекодируем во все известные нам кодировки (точнее из них в ту, в которой работаем) 2. Преобразуем к строчным, убираем \s\t\r\n 3. Считаем буковки. Если буковок больше (strlen/4)*3, то на 99% кодировка опознана. PS: Сразу скажу, что способ придуман мной, и возможно существуют более прогрессивные. |
AleXXXSoft
Автоматическое определение кодировки текста — 2 - теория Простой(и ненадежный) алгоритм определения кодировки русского текста - практика, но другой вариант Также здесь есть на си и на перле аналогичные алгоритмы |
все тоже самое я удачно обнаружил в Яндексе самостоятельно, скачал, установил и попробовал, но слишком тормозные скрипты.
Вот понравилось что: http://www.rusf.ru/books/yo/xcode.html но так влом переносить на ПХП.... видимо так и буду его вызывать..... через систем.... а вообще хотелось что-нить типа библиотеки iconv .... но видать ЖПС вышел... |
2 AleXXXSoft: А мой вариант не подошел?
|
Цитата:
Добавлено через 37 минут: таксь... а как быть с CP1251 и KOI8-R? вот например: рЕЯР АНКЭЬНИ РЮЙНИ РЕЯР БНР Тест большой такой тест вот не определишь? Добавлено через 4 минуты: Цитата:
|
Цитата:
|
Так в статье на webzone и предлагался подход по определению кодировке на основе анализа сочетаний букв - к тому же самому и ведете
|
:dance: ура! все-таки вот ента штучка http://tony2001.phpclub.net/detect_charset/detect.phps заработала, по крайней мере локально, осталось запустить это на сервере!
Цитата:
|
Тут не анализ сочетания, а три цифры - количество гласных, согласных и общее.
|
Цитата:
Добавлено через 1 минуту: усем спасибо (пока что) :yees: |
RaZEr
Соотношение гласных и согласных в русской речи примерно 40% и 60% соответственно - приведенный тобой кусок как раз прекрасно подходит под эту статистику. Так что от анализа все равно никуда не деться, если хочешь получить более-менее точное определение. |
Цитата:
Добавлено через 2 минуты: 2 Saruman: Количество согласных в KOI больше чем в WIN. Исключения так и остаются исключениями. |
и снова проблемы, нашлись такие сочетания символов в текстах, что все эти умные программки неправильно определили кодировку =(
Добавлено через 3 минуты: буду пробовать реализовать вот этот алгоритм |
AleXXXSoft
Так у Тони и написано, что его алгоритм быстрый, но ненадежный. Если нужен был надежный - сразу бы за этот и брался. Добавлено через 4 минуты: Кста, вот еще только что попалось: fix-mime-charset Сам не разбирался, интересно - смотри, вдруг чем поможет. |
таксь, кое-что удалось...!
Этак лирическое отступление: все эта лабуда нужна была для почтовика SquirrelMail. Так вот, при установке Локали в Win1251 все само заработало, автоматическая перекодировка и т.д., но вот интерфейс русский работать перестал, стал английским по-умолчанию. Кто-нить общался с ентой софтиной, может есть какие советы? |
| Часовой пояс GMT +4, время: 11:40. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.