Лучший ответ

    1.  0 0

    Shaggy (29) 6 (5127)1929 9 лет  

    Настройка русского языка в программе
    Прежде всего, нужно установить поддержку русского языка в программе.

    1. Определите, в какой кодировке вы будете передавать текст c матом методам модуля. Обычно это кодировка совпадает с той кодировкой, в которой у Вас хранится документы на сервере.

    2. Спросите у администратора сервера, как называется локаль для этой кодировки. Если ее нет, попросите ее поставить, это у него займет 2-3 минуты. В результате Вы получите название локали в виде ru_RU.CP1251 или ru_RU.KOI8-R (также возможны другие варианты названий, например ru_RU).

    Также может помочь чтение документации о локале perldoc perllocale и man locale.

    3. Итак, название локали известно, теперь нужно подключить эту локаль в программе.

    Вставляем перед

    use Lingua::RU::Antimat;

    строчку

    use POSIX qw(locale_h);

    а перед тем, как начнете использовать методы модуля, вставьте

    use locale;

    setlocale(LC_CTYPE,'ru_RU.CP1251');

    ,где вместо ru_RU.CP1251 должно быть название локали, которую Вы получили от Администратора.

    Каким образом можно узнать, что локаль настроена неправильно? Матерные слова написанные маленькими буквами, будут вырезаться, а написанные заглавными буквами - нет. В общем-то, настройка локали нужна именно для того, чтобы выполнить поиск и замену слов независимо от того, в каком регистре они написаны. Если же и матерные слова написанные маленькими буквами не заменяются, то это означает, что:

    a) неправильно определена кодировка для текста с матом;

    б) кодировка неправильно указана в методе new() (см. ниже).

    Мне нужно удалить мат, а затем проверить правильность e-mail'a. До того, как поставил локаль, все отлично работало. Теперь мат удаляется, но при проверке e-mail'а разрешены русские буквы.

    Если дальше в скрипте русская локаль не нужна, вставте после того, как выполните последний метод модуля, строку

    no locale;

    После этого поддержка русского языка будет отключена.

Ответы

    1.  0 0

    Arks21 (22) 2 (375)5 9 лет  

    kakda znal no zabil ;(

    1.  0 0

    kekc 7 (32835)649118 9 лет  

    Аркс, как можно забыть то о чем не знал ? =)) Прости, Вип, Ничем помочь не могу !

    1.  0 0

    Виртулис (27) 7 (35135)643135 9 лет  

    Уточни, где конкретно установить.

Похожие вопросы

Рейтинг@Mail.ru Ramblers Top100 Top.LV PULS.LV Professional rating system