RuWeb.net Forum

сравнение строк на PHP (локализация)
Anonymous - 25.6.2004 в 09:37

помогите пожалуста.

я сравниваю строки
"коля" и "Коля" без учета регистра
пхп выдает ложь, я устанавливаю
setlocale(LC_ALL,"ru_RU";)
и получаю истину,
но тут же сравниваю "саша" и "Саша"
и получаю ложь.
в чем может быть дело?


Anonymous - 25.6.2004 в 10:44

дык:
1. чем ты сравниваешь? как мы тут недавно выяснили, из всех PHP-шных функций корректно работает с локалью только strcoll
2. какая у тебя кодировка? Для 1251 надо ставить setlocale(LC_ALL,"ru_RU.cp1251";)


Anonymous - 25.6.2004 в 15:12

сравнения я делал:
1) if (false!==stristr($s1,$s2))
2) preg_match
3) пытался просто такое: echo strtolower("Саша";) -выводил Саша
да, я пытался ставить локализацию ru_RU.cp1251,
но результат тот же,
а еще я заметил что глюк этот касается только некоторых букв
например эс - "С" (русская)


Anonymous - 7.7.2004 в 14:48

yo, топик сдох?


Anonymous - 12.9.2005 в 08:01

мало ли кому пригодиться, я перебирал очень долго
на FreeBSD работает вот так
setlocale(LC_ALL, "ru_RU.CP1251";);


Anonymous - 12.9.2005 в 12:51

Мне очень пригодилось!)) пасибо Аноним!