pythonとsqliteの中国語データの問題

990 ワード


【回転】pythonとsqliteの中国語データの問題
sqliteデフォルト符号化はutf-8であり、我々のPYTHONファイルにファイル保存符号化及び出力デフォルト符号化はutf-8とする
 
pythonインストールディレクトリlib/site-packagesの下にsitecustomizeを新規作成します.py import sys sysを入力.setdefaultencoding('utf-8') #set default encoding to utf-8
python運転時自動設定utf-8
sqliteにデータを挿入して直接printする場合は、gbkなどの他の符号化に変換する必要があります.
使用方法:
     def Utf82Gb(self,str):                  return    str.decode('UTF-8').encode('gbk')
 
sqliteに中国語データを挿入して正しく表示する問題を簡単に解決できます~
重大な注意事項:
# Never do this -- insecure! 
symbol = 'RHAT'
c.execute("SELECT * FROM stocks WHERE symbol = '%s'" % symbol)
# Do this instead
t = ('RHAT',)
c.execute('SELECT * FROM stocks WHERE symbol=?', t)
         ,        ,    tuple