pymysql无法识别腻子上的®(注册商标符号)

2024-05-19 03:05:06 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我尝试运行包含以下行的python文件:

cursor.execute("SELECT GameName FROM GamesTable WHERE GameName = 'Sid Meier's Civilization® IV'")

PuTTY给了我一个错误:

pymysql.err.ProgrammingError: (1064, u"You have an error in your SQL syntax; check the
manual that corresponds to your MySQL server version for the right syntax to use near 's
Civilization\xae IV'' at line 1")

所以它显然看不懂®符号。你知道吗

我四处搜索过,人们说要确定远程字符集是UTF-8,就是这样。你知道吗

而且,PuTTY似乎可以很好地处理符号—如果我只写print "®",那么它就可以正确地打印符号。只有在尝试使用pymysql访问sql服务器时,它才会出现问题。你知道吗


Tags: 文件thetofromexecuteyour符号select
1条回答
网友
1楼 · 发布于 2024-05-19 03:05:06

unicode错误?(假设python 2)

gname=“锡德·迈尔的文明”+unichr(174)+“四”

那么

你知道吗gname.encode编码('utf-8')

这给了 “Sid Meier的文明\xc2\xae IV”

https://docs.python.org/2/howto/unicode.html

相关问题 更多 >

    热门问题