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

Форум MySQL

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

 

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

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

тема: Компиляция кодировки
 
 автор: samel   (29.06.2007 в 23:36)   письмо автору
 
 

Можно ли в MySQL прокомпилировать кодировку? Если да, то как?

   
 
 автор: cheops   (29.06.2007 в 23:39)   письмо автору
 
   для: samel   (29.06.2007 в 23:36)
 

Начиная с MySQL версии 4.1 в этом нет надобности - всегда можно настроить кодировку на любом уровне при помощи конфигурационного файла my.ini. Вы какого поведения MySQL хотите добиться?

   
 
 автор: samel   (29.06.2007 в 23:49)   письмо автору
 
   для: cheops   (29.06.2007 в 23:39)
 

Интересует cp1251. Изменял я my.ini, но если взять кодировку, которая не откомпилирована, то MySQL не запускается. Выдается ошибка о том, что кодировка не откомпилирована.

   
 
 автор: Trianon   (30.06.2007 в 00:38)   письмо автору
 
   для: samel   (29.06.2007 в 23:49)
 

http://softtime.ru/forum/read.php?id_forum=3&id_theme=36378

   
 
 автор: cheops   (30.06.2007 в 00:47)   письмо автору
 
   для: samel   (29.06.2007 в 23:49)
 

Уберите директиву default-character-set=cp1251 из секции [client] - данная директива должна находиться только в секции [mysqld].

   
 
 автор: samel   (30.06.2007 в 11:34)   письмо автору
 
   для: cheops   (30.06.2007 в 00:47)
 

Убрал. Попытался загрузить данные на русском языке из внешнего файла, получил ошибку: Data too long for column 'name' at row 1. Если в файле будут латинские буквы - без проблем.
Создавал таблицу и загрузку так:
CREATE TABLE cat (
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
name TINYTEXT NOT NULL)
ENGINE = MyISAM CHARACTER SET cp1251;

LOAD DATA INFILE 'c:\\mysql 5\\bin\\catalogs1.txt'
REPLACE INTO TABLE cat
FIELDS TERMINATED BY ',' ENCLOSED BY ' " '
LINES TERMINATED BY '\r\n';

   
 
 автор: Trianon   (30.06.2007 в 11:42)   письмо автору
 
   для: samel   (30.06.2007 в 11:34)
 

Перед этими операторами (на самом деле - перед любыми) надо выполнить

SET NAMES 'cp1251';

   
 
 автор: samel   (30.06.2007 в 13:33)   письмо автору
 
   для: Trianon   (30.06.2007 в 11:42)
 

Никак?!! Вопрос: после запроса SHOW COLLATION на пересечении столбца compiled и строки, например, cp1251_geniral_ci должно ли стоять Yes?

   
Rambler's Top100
вверх

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