Одинаковые переменные не равны

1. Андрей (20.03.2011 / 21:55)
Первый раз такое более чем за 3 года кодинга.
<?php
function chat_otvet(){
	global $room, $user,$text;
	$otvet=mysql_fetch_array(mysql_query("SELECT otvet,time FROM chat_vopros LIMIT 1"));
	echo $otvet['otvet'].$text;
	if($otvet['otvet']==mb_strtolower($text)){
		mysql_query("INSERT INTO chat_posts (text,ot,time,from_id,room) values ('Поздравляю <b>".$user['login']."</b>! Правельный ответ <b>".$otvet['otvet']."</b>!','Умница','".date('U')."',0,'$room[id]')");
		echo 1;
	}
}
?>
У $otvet['otvet'] и $text равне значение, но php с этим почемуто не согласен, я копирую ответ из бд, и при добовлении поста выводится одинаковое значение $otvet['otvet'] и $text, но условие не выполняется. О_О

Добавлено через 03:09 сек.
Пробовал убирать mb_strtolower() и сравнивать по типам (===), результат тотже...

2. Дмитрий (20.03.2011 / 22:08)
А если предположить что в одной их двух строк содержатся пробелы или байт-коды т.е. не читаемые символы, такие как sub, and их не "видно", но в БД они могут сохранится из-за кодировки ...

3. Андрей (20.03.2011 / 22:21)
Мда.. Изначально бд с вопросами бала в файле с кодировкой win-1021 (както так), перекодировал в utf8, скриптом перемистил это всё в mysql, там тоже хранится в utf8.
Добавил регулярку : $otvet['otvet'] = preg_replace ("/[^a-zA-ZА-Яа-я0-9\s]/","",$otvet['otvet']);
и некоторые символы стали вопросами...
Как это можно подправить в бд? cry

Добавлено через 01:18 сек.
В ручную не вариант, там более 25 тысяч вопросов.

4. Дмитрий (20.03.2011 / 23:04)
посмотри кодировку таблицы и файла php, в котором сравниваются данные с формы и ответами из БД
можешь поробывать изменять кодировку БД "кверами" SET NAMES утф-8 smile ну или лучше сделай всё на локалке или другом хосте заново т.е. залить вопросы или что там делал

URL: https://visavi.net/topics/19938