Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как проверить кодировку файла? 
V
    Опции темы
Igor_K
Дата 1.3.2009, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 166
Регистрация: 4.2.2008
Где: Kyiv

Репутация: нет
Всего: нет



Здравствуйте!

Есть файлы удаленные, которые скрипт качает. Нужно как-то определить их кодировку. Как такое можно сделать? Хотябы две кодировки определять win-1251 и koi8.

Подскажите пожалуйста, если знаете ответ!
Спасибо!

Это сообщение отредактировал(а) Igor_K - 1.3.2009, 13:28
PM MAIL   Вверх
Igor_K
Дата 1.3.2009, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 166
Регистрация: 4.2.2008
Где: Kyiv

Репутация: нет
Всего: нет



Решил сам. Немного погуглил, нашел ответ.
PM MAIL   Вверх
bars80080
Дата 1.3.2009, 17:27 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



сам решил, но не скажу как?
PM MAIL WWW   Вверх
Igor_K
Дата 1.3.2009, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 166
Регистрация: 4.2.2008
Где: Kyiv

Репутация: нет
Всего: нет



Скажу. Но я почитав понял что кодировку на 100 процентов узнать нельзя.

Код

$cp1251=0; 
$koi8u=0; 
$strlen=strlen($string); 
        for($i=0;$i<$strlen;$i++) { 
            $code=ord($string[$i]); 
            if (($code>223 and $code<256) or ($code==179) or ($code==180) or ($code==186) or ($code==191)) $cp1251++;
            if (($code>191 and $code<224) or ($code==164) or ($code==166) or ($code==167) or ($code==173)) $koi8u++;
        } 
        if ($cp1251>$koi8u) $detect='windows-1251'; 
        else $detect='koi8-u'; 


И от еще там была функция, которая определяет УТФ-8
Код

function is_utf8($string) { 
/*
** Функция определяет является ли строка UTF
*/
    for ($i=0; $i<strlen($string); $i++) { 
        if (ord($string[$i]) < 0x80) continue; 
        elseif ((ord($string[$i]) & 0xE0) == 0xC0) $n=1; 
        elseif ((ord($string[$i]) & 0xF0) == 0xE0) $n=2; 
        elseif ((ord($string[$i]) & 0xF8) == 0xF0) $n=3; 
        elseif ((ord($string[$i]) & 0xFC) == 0xF8) $n=4; 
        elseif ((ord($string[$i]) & 0xFE) == 0xFC) $n=5; 
        else return false; 
 
        for ($j=0; $j<$n; $j++) { 
            if ((++$i == strlen($string)) || ((ord($string[$i]) & 0xC0) != 0x80)) return false; 
        }     
    } 
    return true; 
}


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0966 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.