| imho.ws |
![]() |
|
|
|
# 1 |
|
Full Member
Регистрация: 16.09.2003
Сообщения: 793
![]() ![]() ![]() ![]() ![]() |
MySQl и запрос
привет всем...
сталкнулся с такой проблемой что с русскими параметрами вот такой запрос не срабатывыет SELECT username FROM user WHERE username='косой' косой в баже точно есть А SELECT username FROM user WHERE username='shuron' срабытывает как и полодено... Почему MySQL неможет Where с русскими параметрами исполнить? Как это исправить? |
|
|
|
|
# 3 |
|
Full Member
Регистрация: 16.09.2003
Сообщения: 793
![]() ![]() ![]() ![]() ![]() |
Кодировка где?
ааа. думаешь от несовпадения кодировок... даже не знаю как посмотреть .. ![]() Вот так это точно выглядит.. $username из формы получаю $result = $db->query('SELECT username FROM user WHERE username=\''.addslashes($username).'\' OR username=\''.addslashes(preg_replace('/[^\w]/', '', $username)).'\'') Кстати что делает preg_replace('/[^\w]/', '', $username)? Если пробую из phpMyAdmin тоже самое.. |
|
|
|
|
# 4 |
|
Guest
Сообщения: n/a
|
прег удаляет из юзернейма все символы кроме тех, что образуют слово
хинт: не пользуй addslashes - для мускула, имхо не очень... есть специальная функция mysql_escape_string и еще, узнай, в какой кодировке передается параметр из формы, и в какой хранится в базе... |
|
|
# 5 | ||
|
::VIP::
Регистрация: 27.01.2004
Адрес: Россия. Барнаул
Пол: Male
Сообщения: 417
![]() ![]() ![]() |
Цитата:
Цитата:
__________________
Nunc est bibendum |
||
|
|
|
|
# 10 | ||
|
Full Member
Регистрация: 16.09.2003
Сообщения: 793
![]() ![]() ![]() ![]() ![]() |
Цитата:
Цитата:
или изменить? |
||
|
|
|
|
# 11 |
|
Junior Member
Регистрация: 04.03.2004
Сообщения: 56
![]() |
shuron
Локаль устанавливается функцией setlocale. Например для русского языка в кодировке windows-1251 необходимо добавить следующую строку: setlocale(LC_ALL, "ru_RU.CP1251"); Подробнее по аргументам посмотри в мануале. Но я все-равно не уверен, что и с установленной локалью регулярные выражения будут правильно отрабатывать русские символы. |
|
|
|
|
# 12 |
|
::VIP::
Регистрация: 27.01.2004
Адрес: Россия. Барнаул
Пол: Male
Сообщения: 417
![]() ![]() ![]() |
shuron
ты хотел посмотреть, какая кодировка используется в базе данных. это запрос к базе данных MySQL, который покажет все переменные, в которых встречается строка char (charset, charsets).
__________________
Nunc est bibendum |
|
|