У меня есть некоторый 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 ??
спасибо