В ПОРЯДКЕ. Итак, у меня есть большая устаревшая база данных, которая поддерживает веб-сайт с высоким трафиком. Таблицы имеют кодировку latin1, и я нахожусь в процессе преобразования в UTF-8. Мы перевели сайт на Rails и начинаем напрямую обращаться к БД. Однако кажется, что что-то очень странное происходит с символами utf8, вставленными в базу данных. Мы используем Tolk (https://github.com/dhh/tolk) для преобразования сайта на китайский язык, и, к сожалению, сайт был настроен до преобразования таблицы переводов в UTF-8. Проблема в том, что мы получаем странный формат символов, вставляемый в таблицу latin1 для символов Unicode.
Вот пример:
--- "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 или база данных, похоже, что-то делают для преобразования китайских символов Unicode в этот шестнадцатеричный формат с разделителями обратной косой черты.
Любые идеи, что может происходить? Есть ли способ перевести эти шестнадцатеричные строки в соответствующие символы utf-8?