1
通過Cgi腳本插入漢字到Sqlite3不適用於我。我可以使用查詢瀏覽器工具從同一個數據庫中插入和選擇中文字符,但是當我使用python腳本時,它顯示錯誤。這是我用於創建數據庫漢字不支持通過CGI腳本的Sqlite3
CREATE TABLE registrations ( m_username VARCHAR PRIMARY KEY COLLATE 'BINARY', m_identity VARCHAR, m_updatetime DATETIME );
查詢,然後這是CGI腳本我已經使用了更新和選擇值形成數據庫
#! /Python26/python
dbFile = 'D:/sqlite/registrations'
import cgi
import sqlite3
import xml.sax.saxutils
query = cgi.parse()
db = sqlite3.connect(dbFile)
user = query.get('username', [None])[0]
identity = query.get('identity', [None])[0]
friends = query.get('friends', [])
print 'Content-type: text/plain\n\n<?xml version="1.0" encoding="utf-8"?>\n'
print "<result>"
if user:
try:
c = db.cursor()
c.execute("insert or replace into registrations values (?, ?, datetime('now'))", (user, identity))
print "\t<update>true</update>"
except:
print '\t<update>false</update>'
for f in friends:
print "\t<friend>\n\t\t<user>%s</user>" % (xml.sax.saxutils.escape(f),)
c = db.cursor()
c.execute("select m_username, m_identity from registrations where m_username = ? and m_updatetime > datetime('now', '-1 hour')", (f,))
for result in c.fetchall():
eachIdent = result[1]
if not eachIdent:
eachIdent = ""
print "\t\t<identity>%s</identity>" % (xml.sax.saxutils.escape(eachIdent),)
if f != result[0]:
print "\t\t<registered>%s</registered>" % (xml.sax.saxutils.escape(result[0]),)
print "\t</friend>"
db.commit()
print "</result>"
我想,我需要設置CHARSET爲UTF-8的東西,但我不知道該怎麼做。我被Google搜索了,但找不到解決此問題的好方法。請有人幫助我。
」這是顯示錯誤。「真棒。感覺像分享? – 2012-08-16 03:49:32
這個問題並不是真的,但是,請先生,請使用框架。 – 2012-08-16 03:49:34