![]() |
|
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]()
|
|
| AmraKimmerian |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 18.4.2009 Репутация: нет Всего: нет |
На сервере выполнятется строка:
preg_match_all('/хлеб/i', $str, $sub); Слово "хлеб" видит, слово "Хлеб" - нет. В локале видит и то и другое слово. Подскажите пожалуйста, в чем проблема? Очень не хочется писать '/[Хх]леб/'. |
|||
|
||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 1 Всего: 29 |
Можно попробовать:
|
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 8 Всего: 260 |
Wolf1994 намекает тебе, AmraKimmerian, что для данных в unicode надо указывать и ключ u
|
|||
|
||||
| AmraKimmerian |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 18.4.2009 Репутация: нет Всего: нет |
Попробовал. Вот что пишет компилятор и на локале и на сервере:
Compilation failed: invalid UTF-8 string at offset 1 in |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 8 Всего: 260 |
||||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 1 Всего: 37 |
Вот да. Я бы вместо намеков на совершенно неизвестные кодировки намекал на локаль. которая locale
Поскольку "на локале работает", которое localhost |
|||
|
||||
| AmraKimmerian |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 18.4.2009 Репутация: нет Всего: нет |
to skyboy: А что такое setlocale? Как им пользоваться?
Это означает что на локально установленном на моем компьютере сервере Дэнвер с помощью /i регулярное выражение обнаруживает и слово "Хлеб", и слово "хлеб". to Ипатьев: Не понял что и кому вы хотели сказать. Это сообщение отредактировал(а) AmraKimmerian - 5.9.2009, 11:05 |
|||
|
||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 1 Всего: 29 |
||||
|
||||
| AmraKimmerian |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 18.4.2009 Репутация: нет Всего: нет |
Wolf1994, спасибо, почитал.
Т.е. вы с Ипатьевым считаете что установка на сервере таких же параметров, как у меня на localhost (кодировки, языка) решит проблему? Но со строчными кириллическими символами проблем нет. Поэтому не понятно, какое setlocale имеет отношение к работоспособности модификатора /i в данном случае. Из статьи про setlocale не понятно как им пользоваться. Ставить LC_CTYPE? А вторым параметром ставить "rf_RF" что ли? Но за что именно отвечает LC_CTYPE, кроме как за strtoupper()? Отвечает ли за /i? Как посмотреть какие настройки на сервере, нет же никакого getlocale? Как то размыто написано в статье, хоть она и официальная наверное. |
|||
|
||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 1 Всего: 29 |
|
|||
|
||||
| AmraKimmerian |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 18.4.2009 Репутация: нет Всего: нет |
setlocale (LC_ALL, "ru_RU.CP1251"); помогло!
Спасибо! |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Тексты | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |