У меня есть 2 таблицы с тем же DEFAULT CHARSET = latin1 Если я скопирую некоторые данные из одной таблицы в другую с помощью команды "Вставить в() Select()", MySql закодирует строки. Пример:
2461/P/J- -- RESO N° RM10
стал 2461/P/J- -- RESO N° RM10
обратите внимание на преобразование с °
в °
Как это можно избежать? tnx в совете.
Вы можете проверить данные в исходной таблице? Если у вас возникли проблемы с кодировкой кодировки, вы увидите градационные символы и т.п., А не HTML. MySQL не конвертирует из/в объекты HTML/XML, как предлагает ваш пример.
Этого не происходит, когда я пытаюсь (MySQL 5.1.41). Вы делаете это прямо из консоли MySQL, или вы, возможно, делаете это через MySQL API - возможно, из PHP?
Пример:
CREATE TABLE `src` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`data` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `dst` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`data` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
INSERT INTO src (data) VALUES ('2461/P/J- -- RESO N° RM10');
SELECT * FROM src;
+----+----------------------------+
| id | data |
+----+----------------------------+
| 1 | 2461/P/J- -- RESO N° RM10 |
+----+----------------------------+
INSERT INTO dst SELECT * FROM src;
SELECT * FROM dst;
+----+----------------------------+
| id | data |
+----+----------------------------+
| 1 | 2461/P/J- -- RESO N° RM10 |
+----+----------------------------+