Форум сайта python.su
есть скрипт:
——————————–
#!/usr/bin/env python
#coding: utf-8
import pymssql
import cx_Oracle
import sys
import os
def application(environ, start_response):
status = ‘200 OK’
response_headers =
start_response(status, response_headers)
g=test_Oraсle()
return g
def test_Oracle():
connection = cx_Oracle.Connection(“login/pwd@ip_addr/BD”)
cursor = connection.cursor()
cursor.execute(“SELECT * FROM TABLE12 where POLE=1”)
date=cursor.fetchall()
p=''
for rec in date:
p=p+str(rec)
return p.encode('utf8')
#print test_Oracle()
——————
он исполняется через web(использую apache 2.2)
OC везде Centos 6 (кроме самого Oracle 11g-там винда)
—-
вообщем скрипт выполняется, но результат возвращается что с в консоле(комент убираю в конце на print и выполняю), что в web не корректно в плане читаемости(((
вместо например такой записи:
Слово1 номер1 Слово2 номер2
выводится такая запись:
\хd0\xa8\xd0\xa7',Слово1
и т.д.
судя повсему что-то с кодировками…
как можно это исправить?
Офлайн
для консоли: нужно текст перевести в кодировку консоли.
для веба: для клиента нужно указывать используемую кодировку.
Офлайн
Так а как это сделать в вебе?где что прописать?
в httpd.conf или в самом скрипте?
в виде примера можете укзать?
в консоле для примера я выполнил сл., чтобы понять какие кодировки используются:
#python
>>> import sys
>>> import locale
>>> print sys.getdefaultencoding()
ascii
>>> print locale.getpreferredencoding()
UTF-8
>>> print sys.stdout.encoding
UTF-8
____
потом запускаю веб-сервер httpd и пробую обратиться к скрипту через веб-браузер…результат получаю,но естесвенно не в том виде котором бы хотелось-нечитаемый вид получаю(((
Офлайн