2012-06-12 2 views
3

OK. Поэтому у меня есть большая, устаревшая база данных, которая поддерживает сайт с высоким трафиком. Таблицы кодируются латинским кодом, и я перехожу к UTF-8. Мы преобразовали сайт в Rails, и мы начинаем напрямую обращаться к БД. Кажется, что что-то очень странное происходит с utf8-символами, вставленными в базу данных. Мы используем Tolk (https://github.com/dhh/tolk) для преобразования сайта на китайский язык, и, к сожалению, сайт был настроен до преобразования таблицы переводов в UTF-8. Проблема в том, что мы получаем странный формат символов, вставленный в таблицу latin1 для символов unicode.Странный разграниченный hex в MySQL - необходимо преобразовать в UTF8

Вот пример:

--- "xfire\xE7\x94\xA8\xE6\x88\xB7\xEF\xBC\x9F\xE8\xAF\xB7\xE7\x82\xB9\xE5\x87\xBB<a dialog-name='account_actions' href='#login' class='dialog_link login add_overlay'>Sign in</a>\xE7\xBC\x96\xE8\xBE\x91\xE4\xBD\xA0\xE7\x9A\x84\xE8\xB4\xA6\xE6\x88\xB7\xE4\xBF\xA1\xE6\x81\xAF" 

Данные сериализовать YAML, и Rails или базы данных, кажется, делать что-то для преобразования Юникода китайских символов в этот обратном косых разделителях шестнадцатеричного формат.

Любые идеи, что может быть? Есть ли способ перевести эти шестнадцатеричные строки в соответствующие символы utf-8?

ответ

Смежные вопросы