2015-02-10 5 views
0

Я пытаюсь удалить последний символ с [:-1] со слов, которые не написаны на латинском алфавите (заголовок имеет # -*- coding: utf-8 -*- набор), а удаленный символ заменяется на? в терминальном выводе. Какие-либо предложения?удаление вопросительного знака на выходе python

пример кода:

# -*- coding: utf-8 -*- 

word = "სკამი"[:-1] 
print word 

выход через терминал

სკამ? 
+0

возможно дубликат [Почему не мои выходные клеммы юникод символы правильно?] (Http://stackoverflow.com/questions/12649896/why-doesnt-my-terminal-output-unicode-characters-properly) – max

+0

Без какого-либо примера кода, демонстрирующего вашу проблему, на самом деле это не ответственно. –

+2

@max: Нет, я думаю, что OP имеет * bytestring * и удаляет один байт из многобайтового символа. Это сделало бы bytestring * недействительным *, а не просто непечатаемым на терминале из-за конфликта кодировки. –

ответ

1

Stop using bytestrings.

print "სკამი".decode('utf-8')[:-1] 
print u"სკამი"[:-1] 
+0

Спасибо, полностью забыли про u "string". – ikechi

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