在一个大二的数据库课设,在一个月黑风高的晚上,我猛然发现,在pycharm终端出现了我从未见过的字符,原来是读取的中文显示出现了乱码,然后一顿操作猛如虎,开始疯狂百度,在两个小时后,我得到了问题的原因。
因为SQLServer不支持UTF-8,当使用varchar保存汉字时,会出现乱码,需要转换。
cast函数
我们将需要选择展示的列,利用cast函数,用nvarchar保存汉字,就可以解决中文乱码的问题
select cast(xx as nvarchar(20)) xxxx …
def showall(self):
self.model.removeRows(0, self.model.rowCount())
sql = "SELECT OwnerId,cast(OwnerName as nvarchar(20)),cast(OwnerSex as nvarchar(20)),OwnerBir,OwnerPhone,OwnerIdent,BuildId,RoomId FROM Owner"
self.cur.execute(sql)
rows = self.cur.fetchall()
print(rows)
self.addItem(rows)
【课程设计|SQLServer连接数据库读取中文乱码问题解决】
推荐阅读
- 课程设计|电路与数字逻辑课程设计-电子钟功能
- java|阿里面试官(如何测试接口幂等性())
- DAG 任务调度与 go-streams 结合的应用实践
- 数据库sql|数据库---常用函数,分组查询,连接查询---总结篇
- Clickhouse 入门
- 数据库|《SQL必知必会》(7,8)(创建计算字段、使用数据处理函数)
- Mysql|详解DAO类(数据库操作对象)
- 项目设计|网上体育商城的设计与实现
- 分布式|Redis 主从复制、哨兵、集群的部署