0 Пользователей и 1 Гость просматривают эту тему.
  • 2 Ответов
  • 3234 Просмотров
*

ДятелЬ

  • Новичок
  • 7
  • 0 / 0
Всем привет.

В мире PHP и Joomla я новичок, поэтому и вопрос может идиотский, ноя не могу с ним справится.

НЕобходимо сравнить два русских слова без учёта регистра. Одно слово берётся из базы, второе вводит пользователь. Если строки в одном регистре то всё нормально, если отличаются регистром, то как я не пытался строить конструкции с использованием strcmp, strcasecmp, strtolower, strtoupper строки не сравнить.
Например строки "РЕГИСТР" и "РеГисТР", не получить что они равны.
Но строки  "РЕГИСТР" и "РЕГИСТР" будут равны.

Плиз, помогите, бьюсь но никак не могу решить проблему.

-----------------------
Платформа: FreeBSD 6.3-RELEASE-p1 i386 at be116.masterhost.ru
Сравнение БД:  utf8_general_ci
Версия Joomla: Joomla! 1.5.8 Production/Stable [ Wohnaiki ] 10-November-2008 23:00 GMT


*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Проблема скорее всего в том, что текст в Joomla 1.5 в кодировке utf-8, а перечисленные вами функции предназначены для работы с однобайтовой кодировкой. Попробуйте воспользоваться встроенными функциями, реализованными в классе JString. Например, вот так:

Код: php
echo (JString::strcasecmp('РЕГИСТР', 'РеГисТР') == 0) ? 'Equal' : 'Not equal';
*

ДятелЬ

  • Новичок
  • 7
  • 0 / 0
Большое спасибо!
Заработало!!!

Всё очень просто, как всегда  ^-^
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться