Проблема с проверкой совпадения в if

Статус
В этой теме нельзя размещать новые ответы.

seva2

Партнер PHPClub.ru
Проблема с проверкой совпадения в if

Такая странная ситуация:
if($ci=="якутск")
echo $ci; - не выводит!

Если просто вывести, то на экране будет якутск
echo $ci;

Пользовался функцией
function hecho($string) {return preg_replace('#.#se','sprintf("\\x%02x",ord("$0"))',$string);}

Вот что вернула:
string(24) "\xff\xea\xf3\xf2\xf1\xea"

В чем может быть проблема?
 

seva2

Партнер PHPClub.ru
уже есть!
$ci=trim(preg_replace('/г\./i', '', $order->delivery['city']));
 

Фанат

oncle terrible
Команда форума
вот и очередной, стотысячный пользователь этого форума столкнулся с символом переврда строки.
и пострадал от этого столкновения...

тебе не приходило в голову, что выводя на экран переменную $ci, ты можешь увидеть только слово якутск, а если там есть ещё невидимые символы - ты их не увидишь?

пользоваться надо функцией var_dump
 

itprog

Cruftsman
seva2
ок, а если:
if($ci=="якутск") {
echo $ci; } else { echo 'не ' . hecho($ci); }
Ps: смотреть надо не в браузере, а в html-коде
 

Фанат

oncle terrible
Команда форума
itprog
я думаю, логичнее было бы тогда уж выводить рядом hecho("якутск") и сравнивать.
 

seva2

Партнер PHPClub.ru
Понял в чем глюк.
1) Разве поле varchar в mysql регистрозависмая переменная?

В базе запись такая:
string(24) "\xdf\xea\xf3\xf2\xf1\xea"
В записи моей:
string(24) "\xff\xea\xf3\xf2\xf1\xea"
Вот в чем проблема, так про регистрозависимость скажите?
 

Фанат

oncle terrible
Команда форума
круто
севочка нам наврал.

Если просто вывести, то на экране будет якутск
а на самом деле, там было "Якутск".

очень мило.
сам себе мозг парит - это ладно.
но и людей на форуме вводит в заблуждение.
это очень нехорошо.
в правилах сказано, как надо задавать вопросы.
подумай, Сева, над своим поведением.

-~{}~ 26.08.06 17:27:

Hecho, блин, ему понадобилось, чтобы отличить большую букву от маленькой!
здесь не форум нужен, а хороший окулист.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху