【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”
如图:当其中的变量tablename为英文时,一切正常,但是为中文时,就会提示错误。
这个文件的开头是#coding:gbk,并且保存成ANSI编码。
请诸位指点是什么原因引起的,我应该怎样解决?
【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”
如图:当其中的变量tablename为英文时,一切正常,但是为中文时,就会提示错误。
这个文件的开头是#coding:gbk,并且保存成ANSI编码。
请诸位指点是什么原因引起的,我应该怎样解决?
处理下编码试试
引用来自“李绣雪”的答案
引用来自“neverno”的答案
处理下编码试试
奇怪的是,使用你的语句之后,倒是没有报错了。
但是不知道为何,当tablename为中文时,差不出任何记录,而为英文时,却可以查出来。
我可以确定我的数据库表中是有中文,且查询语句是正确的。
引用来自“李绣雪”的答案
引用来自“neverno”的答案
引用来自“李绣雪”的答案
引用来自“neverno”的答案
处理下编码试试
奇怪的是,使用你的语句之后,倒是没有报错了。
但是不知道为何,当tablename为中文时,差不出任何记录,而为英文时,却可以查出来。
我可以确定我的数据库表中是有中文,且查询语句是正确的。
你数据库里面是什么编码呢?得把整句 sql 转成对应的编码才行啊。在此之前可以
让面量统一使用 Unicode。
PS:拼字符串的 SQL 很容易升天。
应该是你的字符编码和数据库记录编码不一致.
编码问题最好统一成UTF-8,在程序内转换成unicode.不能确定编码的话,可以试下用chardet判断字符编码.
>>> chardet.detect(rawdata)
{'confidence': 0.98999999999999999, 'encoding': 'GB2312'}