Я создал и заполнил греческие имена в set (), а затем передал этот набор значений в функцию представления.
Когда я пытаюсь напечатать этот набор, греческие имена появляются как неряшливость.Я полагаю, что для этого нужно, чтобы Apache mod_wsgi или Bottle не запускались с поддержкой utf-8.
Как я могу сказать Apache / Bottle использовать LANG = el_GR.utf-8, чтобы я мог правильно отображать юникодпотому что я полагаю, что это здесь?
Я искал AddDefaultCharset utf-8 в httpd.conf, но он уже включен, поэтому я должен спросить, почему греческие символы отображаются как jibberish?
Это когда я пытаюсь загрузить файл с греческим именем файла.
Error: 500 Internal Server Error
Sorry, the requested URL 'http://superhost.gr/downloads/file' caused an error:
Internal Server Error
Exception:
UnicodeEncodeError('ascii', '/static/files/Î\x92ιογÏ\x81αÏ\x86ικÏ\x8c - Î\x9dίκοÏ\x82.docx', 14, 34, 'ordinal not in range(128)')
Traceback:
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/bottle.py", line 862, in _handle
return route.call(**args)
File "/usr/lib/python3.6/site-packages/bottle.py", line 1740, in wrapper
rv = callback(*a, **ka)
File "/usr/lib/python3.6/site-packages/bottle.py", line 2690, in wrapper
return func(*a, **ka)
File "/home/nikos/public_html/downloads.py", line 148, in file
return static_file(filename, root='/static/files', download=True)
File "/usr/lib/python3.6/site-packages/bottle.py", line 2471, in static_file
if not os.path.exists(filename) or not os.path.isfile(filename):
File "/usr/lib64/python3.6/genericpath.py", line 19, in exists
os.stat(path)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 14-33: ordinal not in range(128)
Код, используемый для загрузки файла:
return static_file(filename, root='/static/files', download=True)
моя система настроена на utf-8
[root@superhost public_html]# echo $LANG
en_US.UTF-8
Возможно, что-то с Apache или это проблема с Python3?