powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Еще раз про кодировки. MySQL и MS Access.
8 сообщений из 8, страница 1 из 1
Еще раз про кодировки. MySQL и MS Access.
    #39344582
khext1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу прощения за свою некомпетентность.
Помогите подружить MySQL с Access. Пожалуйста.

Клиент переехал на новую платформу и Access стал показывать кракозяблы.

1. Было до переезда:
Сервер:
Win XP SP3 32Bit (Англоязычный с русскими шрифтами)
MySQL 5.0
БД в кодировке latin1 (cp1252), названия колонок - utf8
Клиент:
Win 7 SP1 32Bit (Русская, корпоративная)
MySQL ODBC 3.51 Driver
MS Access 2010 со связанными таблицами на сервере.
До переезда в таблицах русские буквы отображались без проблем.

2. После переезда:
Сервер тот же.
Клиент:
Win 7 SP1 64Bit (Русская, корпоративная)
MySQL ODBC 5.3 Unicode Driver
MS Access 2013 с теми же связями.

3. В результате:
- в таблицах MySQL на сервере то же самое "àáâãäå¸", что и было до переезда. Это ожидаемо, т.к. на сервере ничего не менялось.
- в таблицах Access неперекодированное "àáâãäå¸" вместо ожидаемого "абвгдеё". До переезда все перекодировалось нормально.
- замена драйвера на MySQL ODBC 5.3 ANSI Driver не помогает. Access выводит другие, но тоже "зяблы".
- перекодирование БД в cp1251 нежелательно и непредсказуемо, т.к. Access при попытке ввода русских букв в поля TEXT ругается на превышение размера данных над полем, хотя английские буквы кушает без вопросов.
- попытки угадать правильные character-set и collation в my.ini не принесли ровно никакого результата - при любых сочетаниях настроек ничего не происходит. В полях таблиц Access точно то же самое и строго одно и тоже - "àáâãäå¸". Не меняется вообще. Хотя на старом клиенте все изменения видны четко - текст из "абвгдеё" становится нечитаемым при любых изменениях настроек в my.ini
- изменения в коде VBA MS Access SQL-запросов невозможны. И я считаю - бесполезны, т.к. проблема наблюдается еще до того места, где я могу формировать какие-либо запросы по желанию, т.е. - уже на стадии чтения связанных таблиц самим Access'ом из БД сервера. Хотя возможно я ошибаюсь - поправьте, если не так.
- пляски с бубном утомительны и тоже не помогают. Не отправляйте в этом направлении, пожалуйста.
- изучение документации в поисках истины также невозможно в силу ряда причин. Прошу простить за это.

Поможете ?
...
Рейтинг: 0 / 0
Еще раз про кодировки. MySQL и MS Access.
    #39344613
trew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
khext1,

Форму по Access .

Наберите в поисковике: access кодировка
...
Рейтинг: 0 / 0
Еще раз про кодировки. MySQL и MS Access.
    #39344625
khext1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
trew,

Спасибо. Очень полезный совет.
Кто бы еще ответил : как подключить MySQL к Acess через ODBC
...
Рейтинг: 0 / 0
Еще раз про кодировки. MySQL и MS Access.
    #39344665
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Еще раз про кодировки. MySQL и MS Access.
    #39344764
khext1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кое-что получается

Нашел настройки у ODBC, стал играться с Character Set.
В результате удалось заставить понимать Access 2013 кириллицу в таблице указав Character Set = cp1251, НО только если таблица была создана с указанием Column Charset = cp1251.

Это не совсем то, что нужно, т.к. старые таблицы были созданы с параметром Column Charset = latin1. В этом случае весь кириллический текст из старой таблицы в Accesse все равно кракозябельный.

Как это исправить не перекодируя таблиц в новые ?
...
Рейтинг: 0 / 0
Еще раз про кодировки. MySQL и MS Access.
    #39344889
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
khext1Как это исправить не перекодируя таблиц в новые ?
Никак. В latin1 принципиально нет русских букв. Так что единственный путь это выгрузка в CVS файлы, пересоздание таблиц с правильной кодировкой, загрузка обратно.
...
Рейтинг: 0 / 0
Еще раз про кодировки. MySQL и MS Access.
    #39344999
khext1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
непонятно - почему ?
Access 2010 + ODBC 3.51 понимал все вообще без лишних вопросов. Хотите сказать - новый Access + новый ODBC не умеют делать того, что у старого получалось само без проблем ?

предположим, что это так.
Тогда подскажите, как уговорить штатный MySQL client сбакапить/разбакапить БД в нужной кодировке ?
У меня с ходу не получается. Изучать мускуль с "0" не имею физической возможности.
...
Рейтинг: 0 / 0
Еще раз про кодировки. MySQL и MS Access.
    #39345064
khext1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть !
Тьфу, нечистая !

Делал так:
- mysqldump.exe -u root -pPASSWORD DATABASE TABLE > d:\table.sql
- перекодируем дамп чем-нибудь из utf8 - > ANSI (писал сам на VBA)
- добавляем в дамп :
SET NAMES utf8;
SET CHARACTER_SET_CLIENT=cp1251;
SET CHARACTER_SET_RESULTS=cp1251;
SET COLLATION_CONNECTION=cp1251_bin;
- меняем в дампе
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
на
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;
- грузим дамп назад:
mysql> SOURCE D:\table.sql
- вписываем в настройки MySQL ODBC Unicode Driver: Character Set cp1251

И - ВСЕ !

Спасибо.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Еще раз про кодировки. MySQL и MS Access.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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