我在python 2.7版本中运行此代码。
import sys, os
sys.path.append(os.path.join(os.path.split(os.path.abspath(__file__))[0], 'lib'))
from bottle import route, run, static_file, request
import pymysql as db
import settings
con = db.connect(
settings.mysql_host,
settings.mysql_user,
settings.mysql_passwd,
settings.mysql_schema,
charset='utf8',
use_unicode=True)
cur = con.cursor()
cur.execute("SELECT tragoudi.titlos, tragoudi.etos_par, cd_production.etaireia FROM tragoudi JOIN singer_prod ON tragoudi.titlos=singer_prod.title JOIN cd_production ON singer_prod.cd=cd_production.code_cd GROUP BY tragoudi.titlos HAVING tragoudi.titlos LIKE %s AND tragoudi.etos_par LIKE %s AND cd_production.etaireia LIKE %s",("ΑΓΩΝΙΑ","1978","SONY"))
con.commit()
#cur.execute("SELECT * FROM kalitexnis")
for row in cur.fetchall():
table = row[:]
print table
con.close()
它给了我一个结果:
(u'\u0391\u0393\u03a9\u039d\u0399\u0391', 1978, u'SONY')
这是正确的,因为'ΑΓΩΝΙΑ这个词的unicode是A=\u0391
Γ=\u0393
等。
所以我的问题是,如果我print table
得到一个结果
(u'ΑΓΩΝΙΑ', 1978, u'SONY')
答案 0 :(得分:0)
Python 2使用u作为前缀来告诉它它是一个Unicode字符串,因此如果按元素打印list元素,它应该正确打印出来。
所以:
for x in table
print x