проблемы с кодировкой в MySQL

stitch-1

Новичок
проблемы с кодировкой в MySQL

сразу скажу (чтоб не набрсывались на меня ) что с кирилицей у меня все в порядке. У меня проблемы с латиницей (или может както подругому) - Stitch.
забиваю в базу данных user2 = stitch также захожу на сайт под stitch тоесть в $cookie, $user забита- stitch :

проверял
$user4 = $cookie[1]
echo " $user4"; // выводит stitch

также и с базы:
$query = "SELECT user2 FROM blac where komid=$id order by id desc ;";
$res = mysql_query($query);
while ( $a_row = mysql_fetch_array ($res) )
echo "$a_row[user2]"; //выводит stitch

но при сравнении :
if ( $user4 == $a_row[user2] ){
$red = "редактировать " ;
}
else {
$red = "фигу вам";
}
echo "$red"; //выводит "фигу вам"
после исправляю в базе в ручную тоесть из "phpMyAdmin" стираю в таблице stitch и пишу заного stitch после этого скрипт работает нормально то есть:
echo"$red"; // выводит "редактировать"
кодировка в базе cp1251_general_ci
что за ерунда помогите понять ?

в поиске искал но здесь говоротся о кирилице пробовал вставлять:
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
и
mysql_query("SET NAMES 'cp1251'");
меняет только кирилицу а латиницу оставляет в прежнем виде.
 

stitch-1

Новичок
Re: проблемы с кодировкой в MySQL

Автор оригинала: stitch-1
после исправляю в базе в ручную тоесть из "phpMyAdmin" стираю в таблице stitch и пишу заного stitch после этого скрипт работает нормально то есть:
echo"$red"; // выводит "редактировать"
.
В таком случае скажите пожалуйста что меняется когда я исправляю в базе поле user2. Я так думал что кодировка. потомучто после исправления скрипт работает коректно?
 

hermit_refined

Отшельник
затрудняюсь ответить, по телепатии в школе у меня была четверка.
я так понимаю, статью про отладку вы читать не собираетесь?..
 

Sender

Новичок
stitch-1

В таком случае скажите пожалуйста что меняется когда я исправляю в базе поле user2. Я так думал что кодировка. потомучто после исправления скрипт работает коректно?
попробуйте
if ( trim($user4) == trim($a_row[user2]) )

а еще лучше делать проверку сразу в sql запросе, и проверять количество возвращенных записей, и код перепишите, while не надо применять если у вас ожидается на выходе одна запись.

и на всякий случай почитайте про экранирование в SQL запросах
 

stitch-1

Новичок
Спасибо большое вам Sender и извините за надоедливость, но я даже близко и не предполагал, что проблема в пробелах, хотя и знал, что надо обрабатывать этой функцией переменные. А по поводу while я просто сократил код. Еще раз спасибо.
 

Фанат

oncle terrible
Команда форума
очередной лох, который остался пребывать в уверенности, что решение может только упасть с неба, и никак иначе.
Или знать заранее - или лапки кверху.
 
Сверху