The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

PHP скрипт для автоматического определения кодировки текста (charset codepage php)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: charset, codepage, php,  (найти похожие документы)
From: tony2001 Newsgroups: http://tony2001.phpclub.net/ Date: Mon, 20 Sep 2004 18:21:07 +0000 (UTC) Subject: PHP скрипт для автоматического определения кодировки текста Оригинал: http://tony2001.phpclub.net/detect_charset/ <? define('LOWERCASE',3); define('UPPERCASE',1); function detect_cyr_charset($str) { $charsets = Array( 'k' => 0, 'w' => 0, 'd' => 0, 'i' => 0, 'm' => 0 ); for ( $i = 0, $length = strlen($str); $i < $length; $i++ ) { $char = ord($str[$i]); //non-russian characters if ($char < 128 || $char > 256) continue; //CP866 if (($char > 159 && $char < 176) || ($char > 223 && $char < 242)) $charsets['d']+=LOWERCASE; if (($char > 127 && $char < 160)) $charsets['d']+=UPPERCASE; //KOI8-R if (($char > 191 && $char < 223)) $charsets['k']+=LOWERCASE; if (($char > 222 && $char < 256)) $charsets['k']+=UPPERCASE; //WIN-1251 if ($char > 223 && $char < 256) $charsets['w']+=LOWERCASE; if ($char > 191 && $char < 224) $charsets['w']+=UPPERCASE; //MAC if ($char > 221 && $char < 255) $charsets['m']+=LOWERCASE; if ($char > 127 && $char < 160) $charsets['m']+=UPPERCASE; //ISO-8859-5 if ($char > 207 && $char < 240) $charsets['i']+=LOWERCASE; if ($char > 175 && $char < 208) $charsets['i']+=UPPERCASE; } arsort($charsets); return key($charsets); } ?>

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ RSS ]
  • 1.1, HoLoD (?), 17:35, 26/01/2006 [ответить]  
  • +/
    Не пашет. Слово "Введение" определяет как ISO, а не Win-1251
     
  • 1.2, Roman (??), 10:42, 06/12/2006 [ответить]  
  • +/
    Текст, набранный ЗАГЛАВНЫМИ БУКВАМИ определяет как KOI-8, а не win-1251
     
  • 1.3, PblCb (?), 19:47, 20/07/2007 [ответить]  
  • +/
    Вот пример рабочего скрипта   http://popoff.donetsk.ua/text/work/libs/a/charset/
    скачайте файл и вот вам готовая функция
     
  • 1.4, skyboy (?), 18:48, 19/02/2009 [ответить]  
  • +/
    Текст, набранный только заглавными в ср1251 или только строчными в koi8-r попадает в один и тот же диапазон символов(191..224), так что однозначно определить кодировку попросту невозможно.
    И это ещё не учли unicode...
     
  • 1.5, hfrghfewu (?), 00:23, 04/06/2010 [ответить]  
  • +/
    А какже тогда определяют кодировку на других языках?
     
  • 1.6, Rusty (??), 15:45, 31/12/2010 [ответить]  
  • +/
    Этот скрипт не работает и никогда не будет работать.
    Надо использовать частотный словарь слогов хотя бы.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру