Борюсь с этой проблемой уже пару дней… А проблема, собственно, в следующем:
Когда я просто вывожу на консоль текст на русском языке, все отображается в консоли корректно:
In [2]: print 'ывыв' ывыв
А вот такой способ почему то не работает:
In [3]: str = 'роман' In [4]: for chr in str: ...: print chr ...: � � � � �
На примере использовал ipython, но все тоже самое происходит если запускать скрипт. Система: linux ubuntu 12.04 LTS x86. Что уже попробовал:
Вставлял этот код в начало скрипта:
# -*- coding: utf-8 -*- import sys import locale reload(sys) sys.setdefaultencoding(locale.getpreferredencoding())
Полностью мой скрипт:
# -*- coding: utf-8 -*- import sys import locale reload(sys) sys.setdefaultencoding(locale.getpreferredencoding()) print sys.getdefaultencoding() print locale.getpreferredencoding() print sys.stdout.encoding def translit(someText): charList = [] for char in someText: charList.append(char) print char translit('питон')
вот что в итоге получается:
c0rsair@c0rsair-VirtualBox:~/Documents$ python test1.py
UTF-8
UTF-8
UTF-8
�
�
�
�
�
Заранее спасибо за помощь!