Рег. выражения, регистр и кирилица

S2
На сайте с 02.06.2006
Offline
100
441

Знатоки, подскажите, что за ерунда:


if (preg_match("/раз/i", "Раз два три")) {
print "A match was found.";
} else {
print "A match was not found.";
}

Выводит A match was not found.

В то же время:


if (preg_match("/one/i", "One two three")) {
print "A match was found.";
} else {
print "A match was not found.";
}

Выводит A match was found.

Причем на локальном компе работает, на сервер заливаю - нет.

BR
На сайте с 28.06.2008
Offline
75
#1

1. setLocale

2. Случаем не UTF-8 используете?

размещение сайтов (http://www.brim.ru)
M
На сайте с 03.11.2008
Offline
1
#2

setlocale(LC_ALL,'');

помогает?

Работать, работать, работать...
LEOnidUKG
На сайте с 25.11.2006
Offline
1769
#3

Да из-за локали это... очень много хостингов не ставят себе русскую локаль.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
S2
На сайте с 02.06.2006
Offline
100
#4

Подозревал, что в этом проблема ).

Brim.ru, видимо утф-8 использовалось. Я setlocale пробовал задавать, но CP1251 не догадался :)

setLocale(LC_ALL, 'ru_RU.CP1251'); - все заработало.

mizzyvizzy, не получилось, рабочий вариант выше.

Всем спасибо.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий