powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / знаки вопроса вместо кириллицы, MySQL под linux
7 сообщений из 7, страница 1 из 1
знаки вопроса вместо кириллицы, MySQL под linux
    #38438079
antoshib
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Проблема следующая: есть два сервера MySQL, один из них под Debian, другой - WinXP. Оба настроены для работы в кодировке utf8. Из программы пишеу в бд на сервер под виндой без проблем русские символы, а в бд на сервер под дебиан попадают знаки вопросов (?????) вместо русских..
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
-- под виндой
SHOW VARIABLES LIKE 'char%';
'character_set_client', 'utf8'
'character_set_connection', 'utf8'
'character_set_database', 'utf8'
'character_set_filesystem', 'binary'
'character_set_results', 'utf8'
'character_set_server', 'utf8'
'character_set_system', 'utf8'
'character_sets_dir', 'C:\Program Files\MySQL\MySQL Server 5.1\share\charsets\'
select version();
5.5.31-0+wheezy1



Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
-- под дебиан
SHOW VARIABLES LIKE 'char%';
'character_set_client', 'utf8'
'character_set_connection', 'utf8'
'character_set_database', 'utf8'
'character_set_filesystem', 'binary'
'character_set_results', 'utf8'
'character_set_server', 'utf8'
'character_set_system', 'utf8'
'character_sets_dir', '/usr/share/mysql/charsets/'
select version();
'5.1.32-community'



Код: plaintext
1.
2.
// Строка соединения 
"Driver={MySQL ODBC 5.1 Driver};Server=127.0.0.1;Database=ddd;User=root;Password=xxxxx;Option=3";



Кто-нибудь сталкивался? Как решить?
Попытка явно указать кодировку выполнением SET NAMES cp1251 приводит к крашу программы.
...
Рейтинг: 0 / 0
знаки вопроса вместо кириллицы, MySQL под linux
    #38438151
antoshib
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разобрался, оказывается, что collation_database были разные: 'utf8_general_ci' на винде и 'utf8_general_ci' на дебиане. Попытка изменить через
Код: sql
1.
ALTER DATABASE `tis` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 

к успеху не привела - пришлось заново создать БД с указанием
Код: sql
1.
CREATE DATABASE IF NOT EXISTS tis DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
...
Рейтинг: 0 / 0
знаки вопроса вместо кириллицы, MySQL под linux
    #38438156
Фотография adv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antoshibЗдравствуйте! Проблема следующая: есть два сервера MySQL, один из них под Debian, другой - WinXP. Оба настроены для работы в кодировке utf8 ...

Попытка явно указать кодировку выполнением SET NAMES cp1251 приводит к крашу программы.'Тут что-то не так'
...
Рейтинг: 0 / 0
знаки вопроса вместо кириллицы, MySQL под linux
    #38438157
antoshib
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пардон,
antoshibРазобрался, оказывается, что collation_database были разные: 'utf8_general_ci' на винде и 'utf8_unicode_ci' на дебиане.
...
Рейтинг: 0 / 0
знаки вопроса вместо кириллицы, MySQL под linux
    #38438163
antoshib
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
adv'Тут что-то не так' это просто экспериментировал - вдруг кодировка настроится для сессии в нужную..
...
Рейтинг: 0 / 0
знаки вопроса вместо кириллицы, MySQL под linux
    #38438176
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antoshibРазобрался, оказывается, что collation_database были разные: 'utf8_general_ci' на винде и 'utf8_general_ci' на дебиане. Попытка изменить через
Код: sql
1.
ALTER DATABASE `tis` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 

к успеху не привела - пришлось заново создать БД с указанием
Код: sql
1.
CREATE DATABASE IF NOT EXISTS tis DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;



Коллейшн и кодировка на БД -- это дефолт для коллейшна и кодировки на таблице.
Коллейшн и кодировка на таблице -- это дефолт для коллейшна и кодировки конкретного поля.
А у поля после его создания коллейшн задан явно и НЕ МЕНЯЕТСЯ с изменением дефолтов на уровне таблицы
и на уровне БД.

Так что надо явно менять все кодировки и/или коллейшны на каждом из полей.
...
Рейтинг: 0 / 0
знаки вопроса вместо кириллицы, MySQL под linux
    #38438185
antoshib
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv, спасибо!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / знаки вопроса вместо кириллицы, MySQL под linux
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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