Преобразование Unicode в UTF-8 Python

Я работаю с базой данных, которая на ней разбросала такие символы: â € ™. Мне нужно взять это из базы данных, конвертировать в UTF-8, а затем импортировать в другую базу данных, используя python. При печати в командной строке Windows эти символы выглядят следующим образом: \ xe2 \ u20ac \ u2122. Я попробовал различные комбинации .decode (), .encode () и unicode () для преобразования данных, но Im действительно застрял.

One Solution collect form web for “Преобразование Unicode в UTF-8 Python”

Всегда декодировать на входе и кодировать на выходе. (Для этого должна быть полезная мнемоника: возможно, « отнимите свой код [пальто], когда вы придете в помещении ».)

Декодирование на входе: вы говорите, что кодировка базы данных «UTF_8_bin». Вы используете MySQL-Python ? Если это так, то вы можете установить опцию use_unicode при подключении к базе данных. Затем все строки извлекаются из базы данных в Юникоде, поэтому вам не нужно беспокоиться об их расшифровке.

Кодирование на выходе: вы можете узнать текущую кодировку символов (или « кодовую страницу », как они ее называют в Windows) с chcp команды chcp . Предположим, что это код страницы 1252 . Тогда вы можете написать

 print text.encode('windows-1252') 

для создания чего-то, что вы можете прочитать из командной строки Windows.

Если вы пишете строки обратно в другую базу данных MySQL с использованием MySQL-Python, вам не нужно делать ничего особенного: MySQL-Python утверждает, что «вы всегда можете писать строки Unicode» (независимо от того, был ли указан use_unicode при открытии связь).

  • проблема с python ... при использовании linux>
  • Werkzeug повышает BrokenFilesystemWarning
  • Unicode (UTF-8) чтение и запись файлов в Python
  • Проблемы с Python в Google App Engine - UTF-8 и ASCII
  • преобразование utf-16 -> utf-8 И удалить спецификацию
  • Почему Python настаивает на использовании ascii?
  • Как отобразить utf-8 в консоли Windows
  • Замена = с помощью '\ x', а затем декодирование в python
  • Текст Python UTF-8 прибывает на Android
  • Должен ли я добавить encoding = 'utf-8' в мой обработчик регистрации Python?
  • Выход Unicode в stdout Python при запуске из cmd.exe
  • Python - лучший язык программирования в мире.