Русское сообщество Sublime Text
Основной раздел => Вопросы и ответы => Тема начата: citadeldimon от Августа 25, 2013, 21:55:24
-
Всем привет!
Что то я совсем запутался с кодировками, интернет не помог. Работаю в Sublime Text 2
Linux katty 3.10.9-1-ARCH #1 SMP PREEMPT Wed Aug 21 13:49:35 CEST 2013 x86_64 GNU/Linux
Создаю файл file.txt в кодировке CP-1251 и добавляю в него пару строк на русском, пишу скрипт
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import codecs
with codecs.open("file.txt", "rb", encoding="windows-1251") as src:
for line in src:
print line
и как следствие
Traceback (most recent call last):
File "/home/dima/python/work_with_file/mycodec1.py", line 11, in <module>
print line
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-5: ordinal not in range(128)
[Finished in 0.0s with exit code 1]
Если запустить скрипт просто в терминале, то все отлично работает. И ошибка присутствует только на кириллицу. Есть идеи?
Спасибо!
-
Слабое утешение, но проблема с, отличными от английских, символами встречается довольно часто. Даже если все в utf-8, ST почему-то не желает ничего делать с кириллицей. Хотя казалось бы...
Тоже попробовал советы с официального форума, не помогло. Если вдруг получится решить проблему, напиши, пожалуйста. Интересно.
-
для меня странно что в линуксе такое наблюдается где на всех уровнях utf-8, в виндовсе с cp-1251 и cp-866 в терминале совсем наверно туго. ???
-
Работаю под Mac OS, в Windows не проверял, но думаю там тоже самое. Сдается мне, это какой-то прикол в ST.
-
есть пару моментов в ST, пока нашел только два - работа с кодировкой и не восприятие питоновских функций input и raw_input. Но пока плюсы перекрывают.