Одинаковые переменные не равны - Visavi.net https://visavi.net/ RSS - Visavi.net https://visavi.net/assets/img/images/logo_small.png RSS - Visavi.net https://visavi.net/ [email protected] (admin) [email protected] (admin) Mon, 13 Jan 2025 14:38:01 +0300 посмотри кодировку таблицы и файла php, в котором сравниваются данные с формы и ответами из БД<br> можешь поробывать изменять кодировку БД &quot;кверами&quot; SET NAMES утф-8 <img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile"> ну или лучше сделай всё на локалке или другом хосте заново т.е. залить вопросы или что там делал https://visavi.net/topics/19938/337397 Одинаковые переменные не равны Дмитрий Sun, 20 Mar 2011 23:04:53 +0300 Сообщения https://visavi.net/topics/19938/337397 Мда.. Изначально бд с вопросами бала в файле с кодировкой win-1021 (както так), перекодировал в utf8, скриптом перемистил это всё в mysql, там тоже хранится в utf8.<br> Добавил регулярку : $otvet[&#039;otvet&#039;] = preg_replace (&quot;/[^a-zA-ZА-Яа-я0-9\s]/&quot;,&quot;&quot;,$otvet[&#039;otvet&#039;]);<br> и некоторые символы стали вопросами...<br> Как это можно подправить в бд? <img src="https://visavi.net/uploads/stickers/cry.gif" alt="cry"> <br> <br> <em><span style="font-size:x-small">Добавлено через 01:18 сек.</span></em><br> В ручную не вариант, там более 25 тысяч вопросов. https://visavi.net/topics/19938/337375 Одинаковые переменные не равны Андрей Sun, 20 Mar 2011 22:21:56 +0300 Сообщения https://visavi.net/topics/19938/337375 А если предположить что в одной их двух строк содержатся пробелы или байт-коды т.е. не читаемые символы, такие как sub, and их не &quot;видно&quot;, но в БД они могут сохранится из-за кодировки ... https://visavi.net/topics/19938/337370 Одинаковые переменные не равны Дмитрий Sun, 20 Mar 2011 22:08:09 +0300 Сообщения https://visavi.net/topics/19938/337370 Первый раз такое более чем за 3 года кодинга.<br> <pre class="prettyprint"> &lt;?php function chat_otvet(){ global $room, $user,$text; $otvet=mysql_fetch_array(mysql_query(&quot;SELECT otvet,time FROM chat_vopros LIMIT 1&quot;)); echo $otvet&#91;&#039;otvet&#039;].$text; if($otvet&#91;&#039;otvet&#039;]==mb_strtolower($text)){ mysql_query(&quot;INSERT INTO chat_posts (text,ot,time,from_id,room) values (&#039;Поздравляю &lt;b&gt;&quot;.$user&#91;&#039;login&#039;].&quot;&lt;/b&gt;! Правельный ответ &lt;b&gt;&quot;.$otvet&#91;&#039;otvet&#039;].&quot;&lt;/b&gt;!&#039;,&#039;Умница&#039;,&#039;&quot;.date(&#039;U&#039;).&quot;&#039;,0,&#039;$room&#91;id]&#039;)&quot;); echo 1; } } ?&gt; </pre> У $otvet[&#039;otvet&#039;] и $text равне значение, но php с этим почемуто не согласен, я копирую ответ из бд, и при добовлении поста выводится одинаковое значение $otvet[&#039;otvet&#039;] и $text, но условие не выполняется. О_О<br> <br> <em><span style="font-size:x-small">Добавлено через 03:09 сек.</span></em><br> Пробовал убирать mb_strtolower() и сравнивать по типам (===), результат тотже... https://visavi.net/topics/19938/337361 Одинаковые переменные не равны Андрей Sun, 20 Mar 2011 21:55:54 +0300 Сообщения https://visavi.net/topics/19938/337361