powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка русских значений из базы!!
13 сообщений из 13, страница 1 из 1
Выборка русских значений из базы!!
    #32915649
r_o_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Помогите решить такую проблему.
Что и как нужно сделать, чтобы в результате запроса на выборку, например,
select * from table_name where name like 'a%';
(а-пишется в русской кодировке)
выбирались только русские названия, а не вместе с английскими?
Сейчас все русские названия выбираются только на запрос
select * from table_name where name like 'a%';
База создавалась с кодировкой cp1251.
Заранее благодарен.
...
Рейтинг: 0 / 0
Выборка русских значений из базы!!
    #32915723
sky2k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
неплохо было бы указать версию субд

--
No microsoft software was used to post this message
...
Рейтинг: 0 / 0
Выборка русских значений из базы!!
    #32915920
r_o_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mysql 4.1.7
...
Рейтинг: 0 / 0
Выборка русских значений из базы!!
    #32916131
sky2k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
r_o_mMysql 4.1.7
кодировка для таблицы точно cp1251?
SET NAMES cp1251 делали?
http://dev.mysql.com/doc/mysql/en/Charset-connection.html
...
Рейтинг: 0 / 0
Выборка русских значений из базы!!
    #32916877
r_o_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да сделал.
Как можно просмотреть текущую кодировку?
winmysqladmin показывает во всех переменных character_set_.... = latin1.
Действительно это так?
Для пробы создал новую базу
(create database if not exist homelib character set cp1251;)
результат тот же.
Хелп!!!
...
Рейтинг: 0 / 0
Выборка русских значений из базы!!
    #32917281
sky2k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
r_o_m
winmysqladmin показывает во всех переменных character_set_.... = latin1.

выставлять эти переменные нужно при каждом подключении к БД
те в вашем случае после коннекта к базе нужно выполнить запрос
Код: plaintext
1.
SET NAMES cp1251
после этого можно заносить/извлекать данные

проверьте чтобы на таблице точно стояла кодировка cp1251
можно например выполнить запрос
show create table имя_таблицы
в конце дампа будет "DEFAULT CHARSET=xxxx"
возможно вы переносили дамп со старой базы в дампе на тиблицах стоит latin1
...
Рейтинг: 0 / 0
Выборка русских значений из базы!!
    #32919193
r_o_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо!! Все получилось!
Даже без set names cp1251;(оказались кривые ручки в php коде(вроде) :-))
Однако последний вопрос.
Правильно ли создавать базу такой командой:
create database homelib character set cp1251 ?
...
Рейтинг: 0 / 0
Выборка русских значений из базы!!
    #32919281
sky2k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> Правильно ли создавать базу такой командой:
>> create database homelib character set cp1251 ?
это командой создатся база с кодировколй по умолчанию cp1251;
те если вы создадите таблицу не указав кодировку, для неё будет выставлена кодировка cp1251

>>Даже без set names cp1251;
насколько я помню у вас все переменные char* выставлены в latin1
возможно просто возникнут всёже какието грабли с like,match
...
Рейтинг: 0 / 0
Выборка русских значений из базы!!
    #32921263
r_o_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как необходимо создавать базы, таблицы чтобы не было проблем с русскими символами?
...
Рейтинг: 0 / 0
Выборка русских значений из базы!!
    #32921423
Welly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
r_o_m
Как можно просмотреть текущую кодировку?


Код: plaintext
SHOW SESSION VARIABLES LIKE 'character_set_%'


winmysqladmin показывает во всех переменных character_set_.... = latin1.
Действительно это так?

Логично, потому что он показывает
Код: plaintext
SHOW VARIABLES
, что аналогично
Код: plaintext
SHOW GLOBAL VARIABLES
, т.е. общие настройки сервера, а не вашей сессии.
...
Рейтинг: 0 / 0
Выборка русских значений из базы!!
    #32921448
sky2k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Welly
Логично, потому что он показывает
Код: plaintext
SHOW VARIABLES
, что аналогично
Код: plaintext
SHOW GLOBAL VARIABLES
, т.е. общие настройки сервера, а не вашей сессии.

SHOW VARIABLES != SHOW GLOBAL VARIABLES

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
mysql> set names cp1251;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | cp1251                     |
| character_set_connection | cp1251                     |
| character_set_database   | latin1                     |
| character_set_results    | cp1251                     |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
7 rows in set (0.00 sec)

mysql> show global variables like 'character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     |
| character_set_connection | latin1                     |
| character_set_database   | latin1                     |
| character_set_results    | latin1                     |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
7 rows in set (0.00 sec)
...
Рейтинг: 0 / 0
Выборка русских значений из базы!!
    #32921467
Welly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sky2k[quot Welly]

SHOW VARIABLES != SHOW GLOBAL VARIABLES

Угу, прогнал :)
Наоборот, SHOW VARIABLES = SHOW SESSION VARIABLES
...
Рейтинг: 0 / 0
Выборка русских значений из базы!!
    #32921490
13th_apostle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
рискну ошибиться, но вроде asc-коды для кириллического и латинского символов 'a' одни и те же; так что, разделить их, imho, невозможно.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка русских значений из базы!!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]