|
|
|
| Здравствуйте, у меня есть программа (без исходников), которая создает базу данных , но она создается в кодировке latin1 Версия MySQL одна из последних поэтому там не работает различные set default charset и тд SET NAMES в my.cnf тоже не срабатавыет. Подскажите как в новой версии MySQL настраивается my.cnf что бы базы создавались в utf8 | |
|
|
|
|
|
|
|
для: Satori
(30.01.2011 в 10:52)
| | новая это какая? | |
|
|
|
|
|
|
|
для: Satori
(30.01.2011 в 10:52)
| | > поэтому там не работает различные set default charset и тд SET NAMES
Пруфлинк?
> что бы базы создавались в utf8
Дак если при создании базы установлена своя кодировка (latin1), то никакие значения по умолчанию уже не учитываются. | |
|
|
|
|
|
|
|
для: neadekvat
(30.01.2011 в 12:02)
| |
Дак если при создании базы установлена своя кодировка (latin1), то никакие значения по умолчанию уже не учитываются.
|
Никакая кодировка не установлена, по аналогии с phpmyadmin там можно не выбирать кодировку при создании базу будет создана та что по-умолчанию (то бишь latin1), а нужно utf-8
http://dev.mysql.com/doc/refman/5.5/en/news-5-5-3.html
The following obsolete constructs have been removed:
The --default-character-set and --default-collation server options | |
|
|
|
|
|
|
|
для: Satori
(30.01.2011 в 10:52)
| | Если клиентское приложение (которым очевидно является программа) создает базу данных не указывая явно кодовую страницу, то для такой БД будет установлено значение переменной "кодовая страница сервера" (character-set-server) . Последняя определяется параметром команды запуска сервера --character-set-server
Впрочем, то что кодировка самой БД будет корректно указана, это вовсе не гарантия успешного взаимодействия клиента и СУБД MySQL.
Чтобы программа корректно передавала данные серверу и корректно получала их от него, потребуется установка трех других переменных character-set-client , character-set-results, character-set-connection
Переменные эти должны быть установлены командой SET NAMES 'кодировка_программы' в начале сеанса связи с сервером. Без такой команды адекватный обмен данными невозможен.
Команду эту, правда, можно заставить исполняться в ходе процеса подключения, прописав её в строку файла конфигурации INIT-CONNECT .
Но действовать такое указание будет лишь для пользовательских эккаунтов. Если программа подключается к БД через логин root - заставить сервер настраиваться на кодировку автоматически уже не получится.
Так что для начала определитесь, что Вы хотите - корректную кодировку БД или корректную кодировку подключения. | |
|
|
|
|
|
|
|
для: Trianon
(30.01.2011 в 12:33)
| | Мне нужно только кодировку БД, вообщем как я понял нужно запускать с ключом саму базу, в my.cnf не получится настроить? | |
|
|
|
|
|
|
|
для: Satori
(30.01.2011 в 22:48)
| | А эта программа занимается тем, что регулярно базы создает?
Создать один раз базу за нее и прописать корректно кодировку возможности нет? | |
|
|
|