2013-06-11 3 views
3

Использование модуля Python unicode-nazi для обнаружения проблем Юникода, я бегу в это предупреждение:Где юникод?

/home/dotancohen/unicode-test.py:51: UnicodeWarning: Неявное преобразование Юникода к Силе
печать («Вот фраза:» ул (фраза) +)

Поскольку phraseв настоящее время явно приведения к строке, где есть неявное преобразование? Разумеется, "Here is a phrase: " является строкой, так как ей не предшествует u.

+0

Я не знаю, если это то, о чем он жалуется, но это не помешает явно закодировать ... – delnan

+0

phrase.encode ('1252') – pylover

ответ

6

Вы должны кодировать значение phrase Юникода явно:

print("Here is a phrase: " + phrase.encode('some_codec')) 

str() на значении Юникода неявно кодирует это значение, используя кодек по умолчанию (ASCII на Python 2).

+1

Я вижу! В предупреждающем сообщении, вероятно, должно быть указано «Неявное кодирование Unicode для some_codec при преобразовании в str». Спасибо! – dotancohen

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