Кодировка символов Python - PullRequest
1 голос
/ 22 марта 2012

У меня есть скрипт на python, который извлекает информацию из веб-службы, а затем ищет данные в базе данных MySQL. Данные получаются в юникоде, когда я их получаю, однако я хочу, чтобы в выражении SQL использовался фактический символ (Băcioi в приведенном ниже примере). Как видите, когда я пытаюсь закодировать его в utf-8, результат все равно не тот, что я ищу.

>>> x = u'B\u0103cioi'
>>> x
u'B\u0103cioi'
>>> x.encode('utf-8')
'B\xc4\x83cioi'
>>> print x
Băcioi ## << What I want!

1 Ответ

4 голосов
/ 22 марта 2012

Ваша кодировка работает нормально.Python просто показывает вам repr() его версию в командной строке, которая использует экранирование \x.Вы можете сказать, потому что он также отображает кавычки вокруг строки.

print не выполняет никаких мутаций строки - если она печатает нужный символ, это то, что на самом деле содержится в содержимом строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...