Oпределения кодировки ?

usergeyv

Знаток
Регистрация
5 Июл 2013
Сообщения
152
Реакции
25
Есть переменная $document, содержит текст, нужно:
{
echo "Кодировка utf-8";
}
else
{
echo "Неизвестная кодировка (Любая)";
}
Спасибо
 
Последнее редактирование:
Для просмотра ссылки Войди или Зарегистрируйся

А еще, если дело с запросами, в следующем в классе есть определение автоматическое по заголовкам и по тегам html, что дает лучший результат
Для просмотра ссылки Войди или Зарегистрируйся
 
Для просмотра ссылки Войди или Зарегистрируйся

А еще, если дело с запросами, в следующем в классе есть определение автоматическое по заголовкам и по тегам html, что дает лучший результат
Для просмотра ссылки Войди или Зарегистрируйся
а можно готовый код по моему примеру :ah:
 
а можно готовый код по моему примеру :ah:
PHP:
if( !empty($document))
{
    $encoding = mb_detect_encoding($document);

    if( $encoding === 'UTF-8')
    {
        echo "Кодировка utf-8";
    }
    else
    {
        echo "Неизвестная кодировка (Любая)";
    }
}
else
{
    echo "Документ пустой";
}

Либо с Для просмотра ссылки Войди или Зарегистрируйся
PHP:
$request = new request('vk.com');
$request->send();

if( $request->get_charset() === 'UTF-8')
{
    echo "Кодировка utf-8";
}
else
{
    echo "Неизвестная кодировка (Любая)";
}
 
Во нашел полезный код по теме, может кому то пригодится
PHP:
/**
* Определение кодировки текста
* @param String $text Текст
* @return String Кодировка текста
*/
function get_codepage($text = '') {
    if (!empty($text)) {
        $utflower  = 7;
        $utfupper  = 5;
        $lowercase = 3;
        $uppercase = 1;
        $last_simb = 0;
        $charsets = array(
            'UTF-8'       => 0,
            'CP1251'      => 0,
            'KOI8-R'      => 0,
            'IBM866'      => 0,
            'ISO-8859-5'  => 0,
            'MAC'         => 0,
        );
        for ($a = 0; $a < strlen($text); $a++) {
            $char = ord($text[$a]);

            // non-russian characters
            if ($char<128 || $char>256)
                continue;

            // UTF-8
            if (($last_simb==208) && (($char>143 && $char<176) || $char==129))
                $charsets['UTF-8'] += ($utfupper * 2);
            if ((($last_simb==208) && (($char>175 && $char<192) || $char==145))
                || ($last_simb==209 && $char>127 && $char<144))
                $charsets['UTF-8'] += ($utflower * 2);

            // CP1251
            if (($char>223 && $char<256) || $char==184)
                $charsets['CP1251'] += $lowercase;
            if (($char>191 && $char<224) || $char==168)
                $charsets['CP1251'] += $uppercase;

            // KOI8-R
            if (($char>191 && $char<224) || $char==163)
                $charsets['KOI8-R'] += $lowercase;
            if (($char>222 && $char<256) || $char==179)
                $charsets['KOI8-R'] += $uppercase;

            // IBM866
            if (($char>159 && $char<176) || ($char>223 && $char<241))
                $charsets['IBM866'] += $lowercase;
            if (($char>127 && $char<160) || $char==241)
                $charsets['IBM866'] += $uppercase;

            // ISO-8859-5
            if (($char>207 && $char<240) || $char==161)
                $charsets['ISO-8859-5'] += $lowercase;
            if (($char>175 && $char<208) || $char==241)
                $charsets['ISO-8859-5'] += $uppercase;

            // MAC
            if ($char>221 && $char<255)
                $charsets['MAC'] += $lowercase;
            if ($char>127 && $char<160)
                $charsets['MAC'] += $uppercase;

            $last_simb = $char;
        }
        arsort($charsets);
        return key($charsets);
    }
}

echo get_codepage(file_get_contents("test.txt"));
 
Назад
Сверху