Форум сайта python.su
Имею:
Debian Linux 2.6.26-2-686
Python 3.1.3
Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny9 with Suhosin-Patch mod_python/3.3.1 Python/2.5.2 mod_perl/2.0.4 Perl/v5.10.0
Для проверки работы питона написал простой скрипт index.py:
#!/usr/bin/env python3.1
# -*- coding: utf-8 -*-
print ('Content-type: text/html; charset=UTF-8\n\n')
u = 'Привет!'
print (u)
Traceback (most recent call last):
File "/usr/local/www/adsl/index.py", line 29, in <module>
print (u)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-5: ordinal not in range(128)
Отредактировано (Март 10, 2011 07:58:47)
Офлайн
А если в конфиг апача добавить
AddDefaultCharset UTF-8
Офлайн
bigdickДобавил вот так:
А если в конфиг апача добавить
AddDefaultCharset UTF-8
<Directory /usr/local/www/adsl>
Options +ExecCGI
AddHandler cgi-script .py
AddDefaultCharset UTF-8
AllowOverride None
Order deny,allow
Deny from all
allow from 192.168.0.168
</Directory>
Отредактировано (Март 10, 2011 07:59:21)
Офлайн
Офлайн
Ничего дополнительного типа Django ставить не хотелось бы. А примеры в коментариях не помогают.
Офлайн
подключи через wsgi. он в питоне по дефолту есть.
Офлайн
А если так попробовать:
u = u'Привет!'
Офлайн
victor_krУже пробовал. Результат:
А если так попробовать:
u = u'Привет!'
File "/usr/local/www/adsl/index.py", line 28
u = u'\\u041f\\u0440\\u0438\\u0432\\u0435\\u0442!'
^
SyntaxError: invalid syntax
Premature end of script headers: index.py
Офлайн
Это третий питон. Там по дефолту строки это уникод объекты. Попробуйте добавить перед строковым литералом символ b.
Ну и вообще конечно с внешним миром надо общаться в какой-то кодировке, поэтому все строки надо так или иначе кодировать.
Офлайн
Александр КошелевДобавил:
Это третий питон. Там по дефолту строки это уникод объекты. Попробуйте добавить перед строковым литералом символ b.
File "/usr/local/www/adsl/index.py", line 28
u = b'\\u041f\\u0440\\u0438\\u0432\\u0435\\u0442!'
SyntaxError: bytes can only contain ASCII literal characters.
Premature end of script headers: index.py
Александр КошелевА это можно пояснить?
Ну и вообще конечно с внешним миром надо общаться в какой-то кодировке, поэтому все строки надо так или иначе кодировать.
Офлайн