Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 4, 2010 14:18:05

mrbloom
От:
Зарегистрирован: 2010-05-28
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

pys60 и кириллица

может это боян, но я что-то не могу справиться
есть два скрипта создавал специально виндоусовским блокнотом,
Запускал на теле нокиа 6120 класик с 3rd Edition FP 1
Python 1 4 5:

1-ый (при сохранении выставил кодировку ANSI ):
import appuifw

s=u“Цапро”

print s
appuifw.note(u“Цапро”)

Все работает вместо кириллицы выдает крякозяблы Öàïðî

2-ой(при сохранении выставил кодировку utf-8 ):
# -*- coding: UTF-8 -*-

import appuifw

s=u“Цапро”

print s
appuifw.note(s)

print s печатает те же крякозяблы Öàïðî
appuifw.note(s) Вылетает с ошибкой

Traceback (most recent call last):
File “E:\private\2000b1a5\default.py”, line 81, in menu_action
f()
File “E:\private\2000b1a5\default.py”, line 65, in query_and_exec
execfile(script_list.encode('utf-8'), script_namespace.namespace)
File “e:\python\1kyr-utf-8.py”, line 1



Отредактировано (Июнь 4, 2010 14:20:15)

Офлайн

#2 Июнь 4, 2010 16:25:59

arok
От:
Зарегистрирован: 2008-01-15
Сообщения: 145
Репутация: +  0  -
Профиль   Отправить e-mail  

pys60 и кириллица

ну сотню же раз обсуждалось, пользуйтесь поиском.



Офлайн

#3 Июнь 4, 2010 18:14:49

R.Ll.S.h57
От:
Зарегистрирован: 2010-02-25
Сообщения: 137
Репутация: +  0  -
Профиль   Отправить e-mail  

pys60 и кириллица

unicode('русский текст', '<кодировка скриптa>')



Отредактировано (Июнь 4, 2010 18:16:19)

Офлайн

#4 Июнь 4, 2010 19:14:11

mrbloom
От:
Зарегистрирован: 2010-05-28
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

pys60 и кириллица

R.Ll.S.h57
unicode('русский текст', '<кодировка скриптa>')
спасибо
увы в моем случае это не сработало

выход нашел такой
пишем скрипт
Notepad++
Кодирока->Кодировка в UTF-8(без ВОМ)
и тогда выполняецо такой скрипт

# -*- coding: utf-8 -*-

import appuifw

try:
s=“Цапро”.decode('utf-8')
print s
appuifw.note(s)

s=“Цапро”.decode('utf8')
print s
appuifw.note(s)

s=“Цапро”.decode('utf_8')
print s
appuifw.note(s)
except:
print ‘Dulja’

все работает и без # -*- coding: utf-8 -*-
но лучче пусть воно будет я так думаю
8)



Отредактировано (Июнь 4, 2010 19:17:12)

Офлайн

#5 Июнь 5, 2010 20:29:28

R.Ll.S.h57
От:
Зарегистрирован: 2010-02-25
Сообщения: 137
Репутация: +  0  -
Профиль   Отправить e-mail  

pys60 и кириллица

Тaк вродe б функция “unicode” и метод “decode” делают одно и то же - переводят в юникод. Или нет?



Офлайн

#6 Июнь 6, 2010 10:00:12

Itsmyname
От:
Зарегистрирован: 2010-05-27
Сообщения: 26
Репутация: +  0  -
Профиль   Отправить e-mail  

pys60 и кириллица

как раз decode('utf8') кодирует в указанную кодировку



Офлайн

#7 Июнь 29, 2010 22:19:03

SanchO-SEK
От:
Зарегистрирован: 2010-03-07
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

pys60 и кириллица

Itsmyname
как раз decode('utf8') кодирует в указанную кодировку
decode() декодирует; ecnode() кодирует

Переделываем текст “в нормальный русский”:

def ru(x): return x.decode('UTF-8')

или лучше так:
ru = lambda x: x.decode('UTF-8')

потом ru('Привет!')



Отредактировано (Июнь 29, 2010 22:20:56)

Офлайн

#8 Янв. 16, 2011 18:08:41

Habib0592
От:
Зарегистрирован: 2011-01-12
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

pys60 и кириллица

Вот

def R(T):return T.decode('utf-8')
теперь нужно вместо (u'hello world') написать (R('Привет мир') и вуаля



Офлайн

#9 Янв. 16, 2011 20:35:20

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

pys60 и кириллица

Habib0592, ответ был уже дан, зачем поднимать тему?



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version