Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Web
  • » Проблемы с кодировкой при выводе через Apache [RSS Feed]

#1 Март 11, 2011 08:29:38

dimabest
От:
Зарегистрирован: 2009-02-12
Сообщения: 253
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с кодировкой при выводе через Apache

goo.gl/3CPa8



Офлайн

#2 Март 11, 2011 08:45:22

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Проблемы с кодировкой при выводе через Apache

reload
А это можно пояснить?
Нужно позвать encode с нужной кодировкой для уникодной строки и уже потом отдавать в мир.



Офлайн

#3 Март 11, 2011 11:19:17

reload
От:
Зарегистрирован: 2011-03-05
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с кодировкой при выводе через Apache

Александр Кошелев
reload
А это можно пояснить?
Нужно позвать encode с нужной кодировкой для уникодной строки и уже потом отдавать в мир.
Если прописать так:
print (u.encode('utf-8'))
Результат получается такой:

b'\xd0\x9f\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82!'



Офлайн

#4 Март 11, 2011 13:38:48

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

Проблемы с кодировкой при выводе через Apache

С утра бьюсь с такой-же проблемой. У меня на винде ошибки не выдает, а выдает знаки вопроса: ������!



Офлайн

#5 Март 11, 2011 14:11:16

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

Проблемы с кодировкой при выводе через Apache

мне помогло

#!/usr/bin/env python3.1
# -*- coding: utf-8 -*-

print ('Content-type: text/html; charset=UTF-8\n\n')
u = 'Привет!'
print (u.encode('utf-8').decode('windows-1251'))
%)



Офлайн

#6 Март 11, 2011 16:50:02

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Проблемы с кодировкой при выводе через Apache

zloymih
мне помогло
#!/usr/bin/env python3.1
# -*- coding: utf-8 -*-

print ('Content-type: text/html; charset=UTF-8\n\n')
u = 'Привет!'
print (u.encode('utf-8').decode('windows-1251'))
%)
фигня какая-то, unicode переводим в utf8, из utf8 декодируем в cp1251 (тут в строке получается белиберда)
и print переводит cp1251 в utf8 (в кодировку по умолчанию)

это теория (на py3 не кодю)

хотя возможно что сам исходник в cp1251

Отредактировано (Март 11, 2011 16:51:55)

Офлайн

#7 Март 14, 2011 06:59:00

reload
От:
Зарегистрирован: 2011-03-05
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с кодировкой при выводе через Apache

zloymih
мне помогло
#!/usr/bin/env python3.1
# -*- coding: utf-8 -*-

print ('Content-type: text/html; charset=UTF-8\n\n')
u = 'Привет!'
print (u.encode('utf-8').decode('windows-1251'))
%)
Мне такое преобразование не помогает. Все равно выдается ошибка “UnicodeEncodeError: ‘ascii’ codec can't encode characters in position 0-11: ordinal not in range(128)”



Офлайн

  • Начало
  • » Web
  • » Проблемы с кодировкой при выводе через Apache[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version