|
|
|
Еще раз про кодировки. MySQL и MS Access.
|
|||
|---|---|---|---|
|
#18+
Прошу прощения за свою некомпетентность. Помогите подружить 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'ом из БД сервера. Хотя возможно я ошибаюсь - поправьте, если не так. - пляски с бубном утомительны и тоже не помогают. Не отправляйте в этом направлении, пожалуйста. - изучение документации в поисках истины также невозможно в силу ряда причин. Прошу простить за это. Поможете ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 09:28 |
|
||
|
Еще раз про кодировки. MySQL и MS Access.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 10:32 |
|
||
|
Еще раз про кодировки. MySQL и MS Access.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 10:49 |
|
||
|
Еще раз про кодировки. MySQL и MS Access.
|
|||
|---|---|---|---|
|
#18+
khext1trew, Спасибо. Очень полезный совет. Кто бы еще ответил : как подключить MySQL к Acess через ODBC Тынц: http://translate.googleusercontent.com/translate_c?depth=1&hl=ru&prev=/search?q=access 2010 navigation form vba&newwindow=1&client=firefox-a&rls=org.mozilla:ru:official&biw=1733&bih=844&rurl=translate.google.ru&sl=en&u=http://www.carlprothman.net/Default.aspx?tabid=90&usg=ALkJrhgzN6LMBbozc-7yCdbSy5CdV7WT3Q#ODBCDriverForText или: http://oftob.com/mysql-запросы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 11:34 |
|
||
|
Еще раз про кодировки. MySQL и MS Access.
|
|||
|---|---|---|---|
|
#18+
кое-что получается Нашел настройки у ODBC, стал играться с Character Set. В результате удалось заставить понимать Access 2013 кириллицу в таблице указав Character Set = cp1251, НО только если таблица была создана с указанием Column Charset = cp1251. Это не совсем то, что нужно, т.к. старые таблицы были созданы с параметром Column Charset = latin1. В этом случае весь кириллический текст из старой таблицы в Accesse все равно кракозябельный. Как это исправить не перекодируя таблиц в новые ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 13:01 |
|
||
|
Еще раз про кодировки. MySQL и MS Access.
|
|||
|---|---|---|---|
|
#18+
khext1Как это исправить не перекодируя таблиц в новые ? Никак. В latin1 принципиально нет русских букв. Так что единственный путь это выгрузка в CVS файлы, пересоздание таблиц с правильной кодировкой, загрузка обратно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 14:41 |
|
||
|
Еще раз про кодировки. MySQL и MS Access.
|
|||
|---|---|---|---|
|
#18+
непонятно - почему ? Access 2010 + ODBC 3.51 понимал все вообще без лишних вопросов. Хотите сказать - новый Access + новый ODBC не умеют делать того, что у старого получалось само без проблем ? предположим, что это так. Тогда подскажите, как уговорить штатный MySQL client сбакапить/разбакапить БД в нужной кодировке ? У меня с ходу не получается. Изучать мускуль с "0" не имею физической возможности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 15:45 |
|
||
|
Еще раз про кодировки. MySQL и MS Access.
|
|||
|---|---|---|---|
|
#18+
Есть ! Тьфу, нечистая ! Делал так: - 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 И - ВСЕ ! Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2016, 17:05 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39345064&tid=1831220]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 371ms |

| 0 / 0 |
