MySql 5.1.x: вставить в select .. кодировать строки

0

У меня есть 2 таблицы с тем же DEFAULT CHARSET = latin1 Если я скопирую некоторые данные из одной таблицы в другую с помощью команды "Вставить в() Select()", MySql закодирует строки. Пример:

2461/P/J- -- RESO N° RM10 стал 2461/P/J- -- RESO N° RM10 обратите внимание на преобразование с ° в °

Как это можно избежать? tnx в совете.

Теги:
encoding
insert

2 ответа

0

Вы можете проверить данные в исходной таблице? Если у вас возникли проблемы с кодировкой кодировки, вы увидите градационные символы и т.п., А не HTML. MySQL не конвертирует из/в объекты HTML/XML, как предлагает ваш пример.

  • 0
    по факту! все, что я могу ожидать от mysql, но не «html-конвертация» (для этого я здесь :)
0

Этого не происходит, когда я пытаюсь (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 |
+----+----------------------------+
  • 0
    отличный и полный пример майк! я тоже попробую этот тест и он пройдет .. все зеленые! Но ... что тогда происходит в моем столе? Хммм, я повторяю ваш пример, используя мои таблицы, и ошибки не происходит! Таблица очень старая (взята из базы данных, которая начиналась с mysql 4.0.x ..) ... я начинаю предполагать, что проблема находится в самой старой строке: может быть, другая кодировка?
  • 0
    Хорошо, еще одна странная вещь происходит: я пытаюсь скопировать только 1 из «проблемных» строк ... и на этот раз кодирования не происходит! Только когда я копирую все строки. Тот же клиент и контекст (sqlyog для Windows)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню