课程设计|SQLServer连接数据库读取中文乱码问题解决

在一个大二的数据库课设,在一个月黑风高的晚上,我猛然发现,在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连接数据库读取中文乱码问题解决】

    推荐阅读