Найти - Пользователи
Полная версия: Не понимает юникод
Начало » Python для новичков » Не понимает юникод
1 2
FishHook
doza_and
Да разве я заставляю? Я советую, потом же сам будет голову ломать, что у него этими кодами закодировано.
doza_and
dobriy_dada
а на двух всё нормально

Давайте по порядку.

Все нормально это как? Отображается скрипичный ключ?

В какой программе вы хотите это отображать? Консоль cmd, консоль Powershell, броузер, ворд, консоль среды разработки? На мой взгляд консоли windiws не смогут отображать такие символы. При записи в файл все получится т.к. вы можете написать:
f = open("aaa.txt","w",encoding="utf-8")

Потом вы можете тестировать на что способна ваша консоль например copy aaa.txt con.

В чем разница между компами. ОС, текущий путь, локализация?


dobriy_dada
В программе PyCharm
Я написал в первом сообщении, что выводится ошибка (на одном компе из трёх), на всех компах стоит винда, русская, файл находится в папке - в администратор\pycharm project
Samurai_Jack
Граждане, позвольте присосаться к теме, дабы не плодить сущностей.
Помогите порешать проблему с кириллицей на питоне-3.

Частная задача - принять в переменную с клавы слово или букву, после чего отобразить принятое.
До момента приема данных включительно проблем нет, но при попытке дальнейшего использования (отображения или запроса в словарь по введенному символу) вылезает <?> (не знаю как назвать - черный ромб со знаком вопроса внутри).
Ну и ругается, само собой, вот так:

Traceback (most recent call last):
File “C:\Documents and Settings\Владимир\Рабочий стол\PyProgs\Morse1.py”, line 24, in <module>
print(mema)
builtins.KeyError: ‘�’

С цифрами и латиницей все работает норм.
Добавление в шапку волшебного # -*- coding: utf-8 -*- помогает чуть менее чем никак
Заранее спасибо )
dobriy_dada
вылезает <?> (не знаю как назвать - черный ромб со знаком вопроса внутри).
Этот вопрос вылезает, если символ не может быть распознан с помощью кодировщика unicode, так он обрабатывает ошибку заменяющим символом.
А что Вы написали в самой программе?
Samurai_Jack
mema={“а”:“01”,“б”:“1000”,“в”:“011”,“г”:“110”,“д”:“100”,“е”:“0”}#словарь
print(mema.keys())#посмотреть ключи
print(mema.values())#посмотреть значения
bukva=input(“Введите букву из диапазона а-е –>”)#ввод буквы, для последующего использования словаря
print(“вы ввели букву”,bukva)#отображение введенной буквы - здесь уже показывает крякозябру
print(mema)#обращение по введенной букве-ключу к словарю - соответственно, не показывает ни хрена

На выходе дает вот что:

dict_keys()
dict_values()
Введите букву из диапазона а-е –>г
вы ввели букву �
Traceback (most recent call last):
File “C:\Documents and Settings\Владимир\Рабочий стол\PyProgs\Morse1.py”, line 6, in <module>
print(mema)
builtins.KeyError: ‘�’
Samurai_Jack
Общем беда пришла откуда не ждали.
Проверил через IDLE 3.4 - все пашет. Через PyCharm тоже работает.
Значит IDE косячит, ссобака. Даже не подумал в эту сторону копать.

Пользую Wing IDE 101 5.1. Пойду в настройках покопаюсь, что ли…
dobriy_dada
Samurai_Jack видимо в IDE установлена cp1251, поэтому и не понимает русские буквы
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