Форум сайта python.su
0
Здравствуйте!
Есть скрипт, который выводит записи из БД:
#!/usr/bin/env python # -*- coding: utf-8 -*- import sqlite3 as db print "Content-Type: text/html; charset=utf-8\n" print "<html><head><title>Page</title></head>" print "<body>" print "<h1>Books Boo</h1>" print "<a href="">TOP-10 книг</a>" print "<ul>" connection = db.connect('/Python27/cgi-bin/books_db.db') cursor = connection.cursor() connection.text_factory = str sql = """SELECT name, author FROM books_t ORDER BY rating DESC LIMIT 10""" cursor.execute(sql) for data in cursor.fetchall(): print "<li>%s, %s</li>" % data print "</ul>" print "</body></html>" connection.close()
Отредактировано bmco@mail.ru (Март 13, 2014 15:07:51)
Прикреплённый файлы:
screen.png (19,8 KБ)
Офлайн
75
Офлайн
58
Блин. Ну легче же напилить на алхимии и не мучить свою карму плохими вибрациями 
P.S. Хотя алхимия + sqlite имеет свои особенности…
Отредактировано 4kpt_II (Март 13, 2014 21:07:20)
Офлайн
221
bmco@mail.ru
в sqlite нужно заносить строки в utf8, ибо доки. Не живете по правилам = имеете проблемы. Определитесь что именно у вас, если в БД действительно строки в cp1251, то при выводе делайте перекодирование. В вашем случае что то вроде такого:
decoder=lambda x: x.decode('cp1251')
...
print "<li>%s, %s</li>" % map(decoder, data)Офлайн