Встановлюємо російську локаль на linux

Якщо раптом хтось помітив, у мене на бложек з'явився фільтр російського мату! У дії можна подивитися наприклад в пості про цибулю. передбачувано містить непристойне слово. Як це зроблено - напишу трохи пізніше. Поки коділ - зіткнувся з проблемою: на моєму новому сервері (куди я переїхав з Агавою на початку року) не було російських локалей, взагалі. Відповідно, регулярки не ловили слово з трьох букв, якщо перша буква - заголовна, наприклад. Довелося встановлювати, а заодно писати черговий пост в "червонооких".

Встановив, працює. Записую на пам'ять, покроково.

1. Перевіряємо, що є російського

> Locale -a | grep ru

Повинен показати локалі, що містять "ru" в назві. У моєму випадку не показав нічого.

2. Перевіряємо, що взагалі є

Відображає встановлені в системі локалі - все, які є. У мене виявилося:

3. Дивимося локалі доступні, але не встановлені:

> Cd / usr / share / i18n / locales /
> Ls -la | grep ru

Тобто переходимо в папку, звідки ставляться локалі, і шукаємо там файли з підрядком "ru". Я знайшов такі:

> Cd / usr / share / i18n / charmaps /
> Ls -la | grep тисячу двісті п'ятьдесят одна

Мене цікавить кодування windows-1251, тому я і шукав charmap-файл з цієї кодуванням. Знайшов ось що:

> Localedef -i ru_RU -f CP1251 ru_RU.CP1251

Власне, вся магія зосереджена в цій команді - за допомогою неї ми на основі файлу локалі і файлу charmap встановлюємо в систему нову локаль, якій потім можемо користуватися.

6. Перевіряємо, що локаль додалася

Ну, як у другому пункті, але тепер з іншим результатом:

Ура, є контакт!

6. Перезапускаємо апач

> /etc/init.d/apache2 restart

У мене до перезапуску веб-сервера нічого не зорати. Капітан Очевидність підказує, що команда вище працює для Apache 2 :)

Якщо все запрацювало, регулярки з модифікатором i (case insensitive) повинні знаходити великі літери. Перевіряємо, чи так це:

У мене запрацювало, заздріть :) "Запрацювало" - означає, що я можу наприклад за допомогою strtoupper () отримати з рядка готові офшорні компанії рядок "ГОТОВІ ОФШОРНІ КОМПАНІЇ", або шукати по цьому рядку регулярки, регулюючи чутливість до регістру.

Схожі статті