Найти - Пользователи
Полная версия: pys60 и кириллица
Начало » Mobile Python » pys60 и кириллица
1
mrbloom
может это боян, но я что-то не могу справиться
есть два скрипта создавал специально виндоусовским блокнотом,
Запускал на теле нокиа 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
arok
ну сотню же раз обсуждалось, пользуйтесь поиском.
R.Ll.S.h57
unicode('русский текст', '<кодировка скриптa>')
mrbloom
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)
R.Ll.S.h57
Тaк вродe б функция “unicode” и метод “decode” делают одно и то же - переводят в юникод. Или нет?
Itsmyname
как раз decode('utf8') кодирует в указанную кодировку
SanchO-SEK
Itsmyname
как раз decode('utf8') кодирует в указанную кодировку
decode() декодирует; ecnode() кодирует

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

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

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

потом ru('Привет!')
Habib0592
Вот
def R(T):return T.decode('utf-8')
теперь нужно вместо (u'hello world') написать (R('Привет мир') и вуаля
igor.kaist
Habib0592, ответ был уже дан, зачем поднимать тему?
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