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

Печать RSS
66

А
Автор
Оранжевые штаны
0
Первый раз такое более чем за 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() и сравнивать по типам (===), результат тотже...
Изменил: Андрей (20.03.2011 / 21:56)

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

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

Землянин
0
посмотри кодировку таблицы и файла php, в котором сравниваются данные с формы и ответами из БД
можешь поробывать изменять кодировку БД "кверами" SET NAMES утф-8 smile ну или лучше сделай всё на локалке или другом хосте заново т.е. залить вопросы или что там делал
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск