![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
Гость_s_a_s_h_a |
|
|||
Unregistered |
Описываю проблему. На сайт приходят люди отовсюду и в базу данных записываются нечитабельные фразы, как распознать в какой они кодировке, или хотя бы как-то отсеивать их. Если что-то непонятно, задавайте вопросы я попытаюсь подробнее объяснить. Жду ответов.
|
|||
|
||||
s_a_s_h_a |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 261 Регистрация: 20.7.2004 Где: Петрозаводск Репутация: нет Всего: 1 |
Нашел способ частично справиться с этой проблемой. Для этого потребуются два модуля
use Text::Iconv; use Lingua::DetectCharset; #массив @phrases содержит фразы в разных кодировках my $k=0; my @right_phrases=(); for(my $i=0;$i<scalar(@phrases);$i++) { $Src = Lingua::DetectCharset::Detect ($phrases[$i]); if($Src eq 'UTF8') { my $converter = Text::Iconv->new("UTF8", "WINDOWS-1251"); $right_phrases[$k] = $converter->convert($phrases[$i]); $k++; } if($Src eq 'KOI8') { my $converter = Text::Iconv->new("KOI8", "WINDOWS-1251"); $right_phrases[$k] = $converter->convert($phrases[$i]); $k++; } if($Src eq 'WIN' || $Src eq 'ENG') { $right_phrases[$k]=$phrases[$i]; $k++; } } Но тут мы видим, что набор кодировок-то беден. В модуле Lingua::DetectCharset они следующие: WIN, UTF8, KOI8, ENG, при этом случаются еще и различные казусы. |
|||
|
||||
HISH |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 24.4.2003 Где: Брянск Репутация: нет Всего: нет |
может быть Cyrillic::CPdetect и Cyrillic::CPconvert пойдет?
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl: CGI программирование" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |