Автор Тема: Less2css в sublime text 3 выдает ошибку  (Прочитано 2972 раз)

nikstorm

  • Newbie
  • *
  • Сообщений: 9
Less2css в sublime text 3 выдает ошибку
« : Декабря 17, 2014, 15:11:44 »
При попытке конвертации less в консоли вижу такое:
[less2css] Converting C:\code.less to C:\code.css
Traceback (most recent call last):
File "C:\Program Files\Sublime Text 3\sublime_plugin.py", line 549, in run_
return self.run(edit)
File "less2css in C:\Documents and Settings\xxx\Application Data\Sublime Text 3\Installed Packages\Less2Css.sublime-package", line 40, in run
File "lesscompiler in C:\Documents and Settings\xxx\Application Data\Sublime Text 3\Installed Packages\Less2Css.sublime-package", line 89, in convertOne
File "lesscompiler in C:\Documents and Settings\xxx\Application Data\Sublime Text 3\Installed Packages\Less2Css.sublime-package", line 223, in convertLess2Css
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xad in position 111: invalid start byte

Кто-нибудь знает, что за напасть?
Заранее спасибо.

Loac

  • Administrator
  • Hero Member
  • *
  • Сообщений: 605
Re: Less2css в sublime text 3 выдает ошибку
« Ответ #1 : Декабря 17, 2014, 22:26:50 »
В имени пользователя "ххх" есть кириллица?

nikstorm

  • Newbie
  • *
  • Сообщений: 9
Re: Less2css в sublime text 3 выдает ошибку
« Ответ #2 : Декабря 27, 2014, 14:13:20 »
Да какая кириллица? Я же не сумасшедший.

zo0m

  • Newbie
  • *
  • Сообщений: 12
Re: Less2css в sublime text 3 выдает ошибку
« Ответ #3 : Декабря 27, 2014, 21:44:05 »
Может не по теме, но то что приходит как UTF-8 перед обработкой нужно преобразовать в юникод. Копать нужно в сторону модуля codecs:
Вот пример отработки слов из utf-8 файла
import codecs
...
def word_code_generator(word):
    '''
       Возвращает числовой код заданного слова. Кодировка файла списка слов - UTF-8 => значит слова приходят закодированные.
       Для работы с чистым юникодом, их нужно раскодировать word.decode('utf-8').
    '''
    unicode_list = list((word).decode('utf-8')) # utf-8 => unicode
    #print (unicode_list) # debug | посмотреть на слова которые приходят
   ...
   ...

А это пример обработки слов введенных с консоли (под виндами):
console_encoding = sys.stdout.encoding
#print ("[*]console_encoding =", console_encoding, "\n") # debug | посмотреть кодировку консоли
str_command = raw_input("Input command [0 for Exit] > ")
unicode_list = list((str_command).decode(console_encoding)) # cp866 (русская кодировка консоли) => unicode
for i in range(len(unicode_list)): # Перебрать каждый символ слова
            print ("unicode('",unicode_list[i], "') = ", ord((unicode_list[i]).lower())) # debug | посмотреть на коды юникод-букв
...
...

« Последнее редактирование: Декабря 27, 2014, 22:04:49 от zo0m »