Я пытаюсь использовать задачу Rake для переноса некоторых устаревших данных из MS Access в MySQL. Я работаю на Windows XP, используя Ruby 1.8.6.
У меня есть кодировка для Rails, установленная как "utf8" в database.yml
.
Кроме того, набор символов по умолчанию для MySQL - utf8.
99% данных поступают нормально, но время от времени я получаю значение столбца, которое выдает мне ошибку примерно так:
Mysql::Error: Incorrect string value: '\x92 Comm...' for column 'name'
at row 1:
INSERT INTO `organizations` ( [...] )
VALUES('Lawyers’ Committee', [...] )
Похоже, что проблема, вызывающая проблемы с MySQL, - это апостроф сразу же после "s" в слове "Lawyers".
Вот еще один ...
Mysql::Error: Incorrect string value: '\x99 aoc' for column 'department'
at row 1:
INSERT INTO `addresses`
[...]
'TRInfo™ aoc'
[....]
Похоже, он задыхается от "ТМ" после "TRInfo".
Есть ли какой-нибудь метод Ruby или Rails, через который я могу запустить данные, чтобы очистить от них любые символы, которые задушит MySQL?
В идеале было бы здорово заменить их на более приемлемые символы - замените апостроф одинарной кавычкой, а символ ТМ - строкой "(ТМ)".
Или, если бы я мог как-то настроить MySQL для хранения этих символов без ошибок, это тоже было бы здорово.