Еще одна проблема кодирования .... но на веб-сервере - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть некоторый Unicode (в частности, этот символ '\ u00e1'), который, когда я нахожусь на моей домашней машине в pycharm, будет печатать очень хорошо (либо с командой печати, либо без).

Однако, когда я нахожусь на своем веб-сервере, при написании довольно простой сгенерированной Python веб-страницы (просто с использованием cgi) и печати той же строки Unicode моя веб-страница возвращает ошибку сервера. Я пробовал:

1

print(string)

нет, ошибка:

'ascii' codec can't encode character '\xe1' in position 30: ordinal not in range(128) 

2

print(string.encode(encoding).decode(encoding))

он также ломается с той же ошибкой:

'ascii' codec can't encode character '\xe1' in position 30: ordinal not in range(128)

Единственное, что позволяет скрипту Python на самом деле работать, это

print(string.encode(encoding))

но это выводит b '' для байтов вокруг строки, а также показывает код Unicode, а не символ.

Я схожу с ума здесь, я думаю, что это что-то на сервере, потому что, как я уже сказал, я могу нормально напечатать строку в моей домашней системе.

У меня есть charset = utf-8 в моем заголовке, и у меня есть

-*- coding: utf-8 -*-

в моем коде Python.

есть ли настройка на сервере, который я пропускаю? сервер apache2 Я проверил свой $ LANG на сервере. это en_US.UTF8. почему ошибка ascii ??

спасибо

...