Кодировка в mysql - как преобразовывают

Poster

Новичок
Кодировка в mysql - как преобразовывают

Доброго дня!

Вот такая задача - нужно перенести из одной таблицы в другую пользователей форума.

В первой таблице они хранятся в кодировке cp1251_general_ci, вторая таблица (куда нужно вставить) - в latin1_swedish_ci.

Делаю выборку из первой, инсерт во вторую - и обнаруживаю "????? ????????? ???" во второй.

Форум во вторую таблицу пишет кириллицу и каким-то образом хранит ее в latin1_swedish_ci.

У меня записать туда не получается. Буду очень рад подсказке.

Спасибо!
 

SiMM

Новичок
> вторая таблица (куда нужно вставить) - в latin1_swedish_ci
Меняй кодировку на правильную.
 

Poster

Новичок
SiMM, да, уже пробовал.

иллегал микс.

Illegal mix of collations (cp1251_general_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '=': select user_id from users where username='аква' and password='11cc492c6f00e1eb89112c9e34424ce1'

хочет только сведиш я так понимаю.
 

Wicked

Новичок
точно не уверен, но вроде как illegal mix из-за того, что username - это уже cp1251_general_ci, а 'аква' - еще latin1_swedish_ci.

полькольку "аква" - зависит от кодировки запроса, то я бы сделал set names 'cp1251';
 

whirlwind

TDD infected, paranoid
мож это

9.3.7 Character String Literal Character Set and Collation

SELECT _latin1'string' COLLATE latin1_danish_ci;

а вообще не проще дампнуть в файл, сделать с ним что нужно, а потом залить
 
Сверху