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)

你可能感兴趣的:(课程设计,数据库,sql,sqlserver)