Найти - Пользователи
Полная версия: Не понимает юникод
Начало » Python для новичков » Не понимает юникод
1 2
dobriy_dada
Здравствуйте, подскажите пожалуйста, на одном из трёх компьютеров не работает такой такой код (стоит другая версия PyCharm на этом компе):
# coding: utf-8
sample1 = '\u06bf'
sample2 = '\u00bc'
sample3 = '\u0969'
sample4 = '\u1D124'
print(sample1, sample2, sample3, sample4)

На одном из трёх компьютеров выводится сообщение об ошибке:
Traceback (most recent call last):
  File "C:/Users/�������������/PycharmProjects/untitled/������.py", line 10, in <module>
    print(sample1, sample2, sample3, sample4)
  File "C:\Anaconda3\lib\encodings\cp1251.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u06bf' in position 0: character maps to <undefined>

Как исправить, чтобы использовался кодек utf-8 вместо cp1251 ? Хотя в самом коде стоит указание на utf-8.
Как сделать так чтобы отображался скрипичный ключ? :-) Когда выводит, то получается “ae”
FishHook
А зачем такие извращения?
Это же литералы, пишите сразу понятными буквами.
dobriy_dada
FishHook извините, что значит - “нормальные буквы”?
FishHook
>>> пишите сразу понятными буквам

>>> “нормальные буквы”?


Ну вот это - ПШĤ ĥ Ħ͇̓̈́͆ͅjdvJBJjbjѠѡѢѣѤѥѦѧѨѩАМݑݒݓݔݕݖݗݘݙݚݛݜבגדהוזחט
нормальные понятные буквы разных алфавитов,
а вот это ‘\u00bc’ - зачем?
dobriy_dada
FishHook А как их написать-то ? на клавиатуре же их нету
Ну и почему в одном случае кодировка не utf-8 , а cp1225 ? Как от этой ошибки избавиться?
FishHook
dobriy_dada
на клавиатуре же их нету
А откуда вы коды этих букв взяли?
dobriy_dada
FishHook Так из интернета, с сайта про Юникод http://unicode-table.com/ru/
Я всё равно не понимаю, вот я написал \u06bf, как это перевести в читаемый вид?
FishHook
dobriy_dada
Так из интернета,
Ну так там сами буквы, зачем вам их коды?
Копируйте сами буквы.
doza_and
FishHook
Ну так там сами буквы, зачем вам их коды?
Копируйте сами буквы.
Ну что вы его заставляете? Имеет право писать коды. Язык их поддерживает.
dobriy_dada
Хотя в самом коде стоит указание на utf-8.
Это указание на кодировку текста программы и больше ни на что не влияет. У вас в тексте нет букв которые требуют указания кодировки. Посему безразлично что вы там напишете.
dobriy_dada
Как сделать так чтобы отображался скрипичный ключ? :-)
Вот у меня сейчас запущен XP и никак не сделать. Не поддерживает он такие символы в консоли.
dobriy_dada
Как исправить, чтобы использовался кодек utf-8 вместо cp1251
можно попробовать установить переменную окружения PYTHONIOENCODING=UTF-8
Можно самостоятельно закодировать данные как хотите при помощи метода encode.
dobriy_dada
doza_and
можно попробовать установить переменную окружения PYTHONIOENCODING=UTF-8
А как её установить раз и навсегда? :-) Это надо в тексте программы написать? Просто у меня такая ошибка выскакивает только на одном компе из трёх, а на двух всё нормально
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB