[Закрыть]
 
popoff.donetsk.ua
В фразе «Вся жизнь игра, а люди в ней - актёры» содержится неточность.
Начало | Новости | Статьи | Форум | Опросы | Карта сайта | Обо мне
popoff.donetsk.ua - Форум - Обсуждение статей - Спасибо!

Спасибо!

форумы popoff.donetsk.ua
Страницы: « 1 2 3 [4]
Подписаться на уведомления об изменениях в этом топике  |  Старый >>  |  Ответить
Автор Сообщение
Обсуждение статьи Модули - a - charset_x_win
Гость zael55 at ya dot ru url://forum.message:3206
zael55 at ya dot ru

применил на сайте  http://pr-ic.ru/  перекодирует все, спасибо комплексный анализ сайтов

Гость Padre url://forum.message:3212
Padre

Не правильно конвертит из UTF-8 в windows-1251 знак

Гость Камил url://forum.message:3218
Камил

Огромное спасибо!

Гость djvov url://forum.message:3232
djvov

СПАСИБО!!! ДО СИХ ПОР РАБОТАЕТ!!

Гость arthur url://forum.message:3234
arthur

Спасибо большое!

Гость positronium url://forum.message:3257
positronium

Здорово. Не думали на github.com выложить?
И не указана лицензия. Если Вы не против, я бы мог это сделать и написать набор тестов.

Это сообщение было отредактировано гостем, оставившим это сообщение 17.12.13 13:41.
Natine123
Nata
Июл, 2018
Сообщений: 57
Natine123 url://forum.message:4510

вВот это метод

~~~~~ 10 Ноя 2018, 14:34, спустя 2 минуты 23 секунды ~~~~~

Гениально!

Гость oblnn at yandex dot ru url://forum.message:5590
oblnn at yandex dot ru

Вот уже 2019 год на дворе, а в Интернете еще далеко не все перешли на UTF-8.
Скрипт a.charset.php успешно работает у меня с 2010 года.

Но вот наконец дошли руки до рефакторинга кода, написанного в 2010 году.
От скрипта a.charset.php отказываться не собираюсь, работает же.

Но нашел ошибку в методе: _charset_utf8_win

там есть строчка: $new_c2 = ($c1 & 3) * 64 + ($c & 63);

а переменная $c1 в методе не определена, в этом и заключается ошибка.

Попытался понять светлую мысль автора, с ходу не смог и решил написать.
Я и раньше натыкался на эту ошибку, но т.к. не пользуюсь этим методом не обращал на нее внимание.

Может есть более свежий скрипт с исправлениями?
Да и code style PSR не мешало бы соблюсти в скрипте.

positronium на github хотел выложить, но похоже не выложил(
а скрипт то еще актуален!

~~~~~ 6 Апр 2019, 10:11, спустя 6 минут ~~~~~

Посмотрел повнимательней, нашел где сетится переменная $c1
Просто ее нужно объявит, для php это как бы и не ошибка вовсе )

Но рефакторинг кода скрипта было бы не плохо сделать.

Гость oblnn url://forum.message:5594
oblnn

Попытался сделать рефакторинг донного кода,
немного помучившись бросил эту затею!

Проблема решаемая этой функцией всего одна, нужно автоматически определит кодировку.
А по моим тестам даже с этим скрипт справляется слабовато, мало кодировок, и KOI8-R,
почему то не определяет(

Пошёл искать другое решение. нашел:

http://patttern.blogspot.com/2012/07/php-python.html

Понятно, что зная кодировку преобразовать в другую не составит труда с помощью iconv.

рекомендую.

Гость Storm url://forum.message:5679
Storm
<p>Я б наверно тоже :-D<br />Поэтому мне больше по душе вот так:</p><p><code><br />function detect_encoding($string, $pattern_size = 50)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;$list = array('cp1251', 'utf-8', 'ascii', '855', 'KOI8R', 'ISO-IR-111', 'CP866', 'KOI8U');<br />&nbsp;&nbsp;&nbsp;&nbsp;$c = strlen($string);<br />&nbsp;&nbsp;&nbsp;&nbsp;if ($c > $pattern_size)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$string = substr($string, floor(($c - $pattern_size) /2), $pattern_size);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$c = $pattern_size;<br />&nbsp;&nbsp;&nbsp;&nbsp;}</p>&nbsp;&nbsp;&nbsp;&nbsp;<p>$reg1 = '/(\xE0|\xE5|\xE8|\xEE|\xF3|\xFB|\xFD|\xFE|\xFF)/i';<br />&nbsp;&nbsp;&nbsp;&nbsp;$reg2 = '/(\xE1|\xE2|\xE3|\xE4|\xE6|\xE7|\xE9|\xEA|\xEB|\xEC|\xED|\xEF|\xF0|\xF1|\xF2|\xF4|\xF5|\xF6|\xF7|\xF8|\xF9|\xFA|\xFC)/i';</p>&nbsp;&nbsp;&nbsp;&nbsp;<p>$mk = 10000;<br />&nbsp;&nbsp;&nbsp;&nbsp;$enc = 'ascii';<br />&nbsp;&nbsp;&nbsp;&nbsp;foreach ($list as $item)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$sample1 = @iconv($item, 'cp1251', $string);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$gl = @preg_match_all($reg1, $sample1, $arr);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$sl = @preg_match_all($reg2, $sample1, $arr);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!$gl || !$sl) continue;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$k = abs(3 - ($sl / $gl));<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$k += $c - $gl - $sl;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ($k</p>< $mk)
{
$enc = $item;
$mk = $k;
}
}
return $enc;
}
</code>
Это сообщение было отредактировано гостем, оставившим это сообщение 16.04.19 16:47.
Гость Storm url://forum.message:5680
Storm

Что-то поломалось здесь...

Это сообщение было отредактировано гостем, оставившим это сообщение 16.04.19 16:50.
Страницы: « 1 2 3 [4]
Подписаться на уведомления об изменениях в этом топике  |  Старый >>  |  Ответить
Вход
Поиск[?]:
Программное обеспечение любой сложности
koins.com.ua