Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Denis Shaposhnikov                   2:550/5068     21 Oct 2004  14:44:08
 To : Slawa Olhovchenkov
 Subject : Re: mysql & gcc 3.4
 -------------------------------------------------------------------------------- 
 
 >>>>> "Slawa" == Slawa Olhovchenkov
 >>>>> <Slawa_Olhovchenkov@f500.n5030.z2.fidonet.org> writes:
 
  DS> Хуже. Они еще и сделали charset поддержку в полной мере. И старые
  DS> базы в latin1 стали. И если клиент коннектится с koi8r, то
  DS> отказываются выполнять любые строковые операции. Сволочи. Hужно
  DS> alter table и каждое строковое поле сначала в binary и потом
  DS> назад, с указанием кодировки.
 
  Slawa> [обтекая] ась? еще раз в деталях можно? а скриптика никакого
  Slawa> они не дают для этого? А через backup/restore не проже будет?
 
 Значит так. Для того, что бы работали всякие WHERE X = 'Y', где X -
 это CHAR() или тому подобное, нужно, что бы это самое X было
 определено с той же кодировкой, с которой подключился запрашивающий
 это клиент. Если делается апгрейд с 4.0 на 4.1, то mysql все текстовые
 поля начинает считать определенными в latin1. А клиенты ты идут с
 koi8r (в моем случае). И все, он обламывает всех с воплями о том, что
 кодировки не совпадают.
 
 http://dev.mysql.com/doc/mysql/en/Charset-upgrading.html
 
 Я сделал следующее. Для начала, в секции [client] и [mysqld] конфига,
 указал "default-charset = latin1". Кажется так, уточни в ссылке
 выше. После этого все работают будто по старому. Правда, возможно
 сортировка не будет работать, не проверял. Потом, взял файлик с sql
 командами для создания базы. Для всех таблиц, где у меня определялись
 текстовые поля, я создал 'ALTER TABLE X DEFAULT CHARSET = koi8r' и
 ALTER TABLE MODIFY текстовых полей команды с конвертацией в BINARY, а
 потом назад в нужный формат. После этого сделал 'ALTER DATABASE X
 DEFAULT CHARSET koi8r' и скормил сделанный файлик mysql'ю. Т.е. там
 содержатся такая последовательность:
 
 ALTER TABLE X1 DEFAULT CHARSET = koi8r;
 
 ALTER TABLE X1
   MODIFY A1 BINARY(1),
   MODIFY A2 BINARY(100),
   MODIFY A3 BLOB;
 
 ALTER TABLE X1
   MODIFY A1 CHAR(1),
   MODIFY A2 CHAR(100),
   MODIFY A3 TEXT;
 
 ...
 
 После этого, все такие поля будут в кодировке определенной в DEFAULT
 CHARSET таблицы. Синтаксис всех этих команд уточни в мануале, за
 точность не ручаюсь. Hу и клиенты, подключаясь к базе, должны как-то
 сообщить серверу свою кодировку. С помощью соотв. записи в конфиге или
 'SET NAMES koi8r'.
 
 -- 
 DSS5-RIPE DSS-RIPN 2:550/5068@fidonet 2:550/5069@fidonet
 mailto:dsh@vlink.ru http://neva.vlink.ru/~dsh/
 --- Gnus/5.1006 (Gnus v5.10.6) XEmacs/21.4 (Security Through
  Obscurity, berkeley-unix)
  * Origin: Solar system, Jupiter (2:550/5068@fidonet)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: mysql & gcc 3.4   Denis Shaposhnikov   21 Oct 2004 11:01:35 
 mysql & gcc 3.4   Slawa Olhovchenkov   21 Oct 2004 11:20:10 
 Re: mysql & gcc 3.4   Denis Shaposhnikov   21 Oct 2004 11:33:59 
 mysql & gcc 3.4   Slawa Olhovchenkov   21 Oct 2004 12:39:12 
 Re: mysql & gcc 3.4   Denis Shaposhnikov   21 Oct 2004 13:32:01 
 mysql & gcc 3.4   Slawa Olhovchenkov   21 Oct 2004 13:51:36 
 Re: mysql & gcc 3.4   vladimir.sharun@ukr.net   21 Oct 2004 14:07:47 
 mysql & gcc 3.4   Ilya Kulagin   21 Oct 2004 14:15:03 
 mysql & gcc 3.4   Slawa Olhovchenkov   21 Oct 2004 14:41:52 
 Re: mysql & gcc 3.4   Dmitry Pryanishnikov   21 Oct 2004 14:09:37 
 Re: mysql & gcc 3.4   Denis Shaposhnikov   21 Oct 2004 14:44:08 
 mysql & gcc 3.4   Slawa Olhovchenkov   21 Oct 2004 15:11:12 
 Re: mysql & gcc 3.4   Denis Shaposhnikov   22 Oct 2004 11:16:24 
 mysql & gcc 3.4   Slawa Olhovchenkov   22 Oct 2004 11:41:42 
 Re: mysql & gcc 3.4   Andrey Lugovoy   22 Oct 2004 10:45:55 
 mysql & gcc 3.4   sergey belov   21 Oct 2004 14:34:40 
Архивное /ru.unix.bsd/77467411c556.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional