Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Настройка кодировки
 
 автор: Satori   (30.01.2011 в 10:52)   письмо автору
 
 

Здравствуйте, у меня есть программа (без исходников), которая создает базу данных , но она создается в кодировке latin1 Версия MySQL одна из последних поэтому там не работает различные set default charset и тд SET NAMES в my.cnf тоже не срабатавыет. Подскажите как в новой версии MySQL настраивается my.cnf что бы базы создавались в utf8

  Ответить  
 
 автор: lightning.say   (30.01.2011 в 12:00)   письмо автору
 
   для: Satori   (30.01.2011 в 10:52)
 

новая это какая?

  Ответить  
 
 автор: neadekvat   (30.01.2011 в 12:02)   письмо автору
 
   для: Satori   (30.01.2011 в 10:52)
 

> поэтому там не работает различные set default charset и тд SET NAMES
Пруфлинк?

> что бы базы создавались в utf8
Дак если при создании базы установлена своя кодировка (latin1), то никакие значения по умолчанию уже не учитываются.

  Ответить  
 
 автор: Satori   (30.01.2011 в 12:18)   письмо автору
 
   для: 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

  Ответить  
 
 автор: Trianon   (30.01.2011 в 12:33)   письмо автору
 
   для: 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 - заставить сервер настраиваться на кодировку автоматически уже не получится.


Так что для начала определитесь, что Вы хотите - корректную кодировку БД или корректную кодировку подключения.

  Ответить  
 
 автор: Satori   (30.01.2011 в 22:48)   письмо автору
 
   для: Trianon   (30.01.2011 в 12:33)
 

Мне нужно только кодировку БД, вообщем как я понял нужно запускать с ключом саму базу, в my.cnf не получится настроить?

  Ответить  
 
 автор: Trianon   (30.01.2011 в 23:10)   письмо автору
 
   для: Satori   (30.01.2011 в 22:48)
 

А эта программа занимается тем, что регулярно базы создает?
Создать один раз базу за нее и прописать корректно кодировку возможности нет?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования