Найти - Пользователи
Полная версия: Проблемы с кодировкой при выводе через Apache
Начало » Web » Проблемы с кодировкой при выводе через Apache
1 2
dimabest
goo.gl/3CPa8
Александр Кошелев
reload
А это можно пояснить?
Нужно позвать encode с нужной кодировкой для уникодной строки и уже потом отдавать в мир.
reload
Александр Кошелев
reload
А это можно пояснить?
Нужно позвать encode с нужной кодировкой для уникодной строки и уже потом отдавать в мир.
Если прописать так:
print (u.encode('utf-8'))
Результат получается такой:

b'\xd0\x9f\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82!'
zloymih
С утра бьюсь с такой-же проблемой. У меня на винде ошибки не выдает, а выдает знаки вопроса: ������!
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'))
%)
o7412369815963
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
reload
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)”
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