Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 11, 2007 18:42:36

jsMan
От:
Зарегистрирован: 2007-08-11
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

utf-8 и русский текст

Каким образом можно настроить интерпретатор на работу с питон кодом в кодировке utf-8?

Интерпретатор при запуске ругается на файл, хотя это же файл в koi8-r работает нормально…



Офлайн

#2 Авг. 11, 2007 19:23:22

astoon
От:
Зарегистрирован: 2007-04-09
Сообщения: 335
Репутация: +  2  -
Профиль   Отправить e-mail  

utf-8 и русский текст

Офлайн

#3 Авг. 11, 2007 19:48:47

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

utf-8 и русский текст

Офлайн

#4 Авг. 12, 2007 06:28:27

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

utf-8 и русский текст

jsMan
Каким образом можно настроить интерпретатор на работу с питон кодом в кодировке utf-8?

Интерпретатор при запуске ругается на файл, хотя это же файл в koi8-r работает нормально…
ОС? Версия Python? Пример кода? Интерактивная сессия или неинтерактивный скрипт?



Офлайн

#5 Авг. 12, 2007 14:59:56

Jenyay
От:
Зарегистрирован: 2007-08-10
Сообщения: 173
Репутация: +  1  -
Профиль   Отправить e-mail  

utf-8 и русский текст

Напиши в начало файла
# -*- coding: utf-8 -*-



Офлайн

#6 Авг. 18, 2007 16:18:55

sbar
От:
Зарегистрирован: 2007-08-15
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

utf-8 и русский текст

у меня вопрос по “# -*- coding: utf-8 -*-”
почему это не влияет на commands.getoutput ? если я запускаю программу, выдающие русские символы - он отдает их не в unicode

#!/bin/env python
# -*- coding: utf-8 -*-

from commands import getoutput
s = getoutput('mpc').split('\n')[0] # возвращает "Кирпичи - Плюю Я", 16 символов
print s
print len(s)
print len(unicode(s, "UTF-8"))
pr0b3l@desktop ~/coding $ ./test.py 
Кирпичи - Плюю Я
28
16
pr0b3l@desktop ~/coding $
ОС - Linux, python 2.4.4, системная локаль “en_US.UTF-8”. В чем может быть дело?



Отредактировано (Авг. 18, 2007 16:21:39)

Офлайн

#7 Авг. 18, 2007 16:53:45

Jenyay
От:
Зарегистрирован: 2007-08-10
Сообщения: 173
Репутация: +  1  -
Профиль   Отправить e-mail  

utf-8 и русский текст

# -*- coding: utf-8 -*- показывает только в какой кодировке написан исходник



Офлайн

#8 Авг. 18, 2007 16:57:34

Jenyay
От:
Зарегистрирован: 2007-08-10
Сообщения: 173
Репутация: +  1  -
Профиль   Отправить e-mail  

utf-8 и русский текст

Кстати, наткнулся еще на такой вариант записи:
#coding=utf-8

В Python 2.5 он работает. Так, имхо, проще запомнить.



Офлайн

#9 Авг. 18, 2007 17:22:46

sbar
От:
Зарегистрирован: 2007-08-15
Сообщения: 29
Репутация: +  0  -
Профиль   Отправить e-mail  

utf-8 и русский текст

Jenyay
# -*- coding: utf-8 -*- показывает только в какой кодировке написан исходник
но ведь системная локаль UTF-8, значит и текст должен приходить в UTF-8, а он сам конвертируется в непонятную мне пока что кодировку (но это не юникод, точно).



Офлайн

#10 Сен. 26, 2016 19:13:31

marataziat
От: Алматы
Зарегистрирован: 2016-05-24
Сообщения: 104
Репутация: +  -5  -
Профиль   Отправить e-mail  

utf-8 и русский текст

https://goooooooogler.blogspot.com/2016/07/utf-8-python.html туть док!



Я настоящий тюленялюб :)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version