python读取数据库中文乱码问题

今天朋友遇到过怪问题,在同一个页面显示的2条中文记录一个正常,一个乱码,2条记录分别从不同的表里取出。录入的时候采用直接录入。仔细观察2者区别,发现能正常显示的字段在表中类型为nvarchar,不能的是varchar,试着将其改成nvarchar,问题解决。 因为对sqlserver不熟悉。通过查询手册得知: nvarchar表示以Unicode格式存储可变长度的 数据,所以能显示中文,而varchar是用非unicode存储数据,所以乱码。
将Varchar类型设置为nvarchar类型,发现问题可以解决。(修改成latin1编码就可以了)

GBK编码,读取数据库中文乱码,把取出的字符串重新编码如下

s.encode(‘latin1‘).decode(‘gb2312‘)

时间: 2024-10-11 01:06:47

python读取数据库中文乱码问题的相关文章

python 读取 csv 中文 乱码 解决办法

import codecs with codecs.open('h.csv', 'rb', 'gb2312') as csvfile: for line in csvfile: print line 原文地址:https://www.cnblogs.com/zhangbao003/p/9360118.html

python读取数据库数据,读取出的中文乱码问题

最近遇到python读取数据库数据,读取出的中文乱码问题, 网络搜索的基本是: "1. Python文件设置编码 utf-8 (文件前面加上 #encoding=utf-8)2. MySQL数据库charset=utf-83. Python连接MySQL是加上参数 charset=utf84. 设置Python的默认编码为 utf-8 (sys.setdefaultencoding(utf-8)" 这些,一一尝试后仍未解决.去数据库查看了下,发现这个出现中文乱码的字段类型是varcha

sae python中Mysql中文乱码的解决

一开始我用的是: db=MySQLdb.connect(db=sae.const.MYSQL_DB,user=sae.const.MYSQL_USER,passwd=sae.const.MYSQL_PASS,host=sae.const.MYSQL_HOST,port=int(sae.const.MYSQL_PORT)) 数据库编码与python代码的编码都已设为utf8,在PHPMyAdmin中添加中文记录,在网页查询显示中却显示乱码,我在网上各种搜索都找不到解决方法.最后终于发现在连接数据库

python 读取数据库,老是报错。

在8.04.4环境下(其实我觉得跟环境无关,是我语句有问题): $ dpkg -l | grep -i python ii  libapache2-mod-python                 3.3.1-2build1               Apache 2 module that embeds Python within th ii  moinmoin-common                       1.5.8-5.1ubuntu2.5          Python

Net、c# 连接Mysql数据库中文乱码

网上有两种解决方案: 第一种是,每次执行语句的时候都和PHP的类似,先执行 一句“set names utf8”或者“set names gb2312”; 1 MySQLCommand setformat = new MySQLCommand("set names b2312",m_Connection); 2 setformat.ExecuteNonQuery(); 3 setformat.Dispose(); 第二种是,在webconfig里加一句“Charset=gbk”; 1

FileReader读取文件中文乱码问题

有一个UTF-8编码的文本文件,用FileReader读取到一个字符串,然后转换字符集:str=newString(str.getBytes(),"UTF-8");结果大部分中文显示正常,但最后仍有部分汉字显示为问号! Java代码 public static List<String> getLines(String fileName){ List<String> lines=newArrayList<String>(); try { Buffere

InterliJ Idea 设置,解决读取配置文件中文乱码问题

InterliJ Idea 设置,解决读取配置文件中文乱码问题,简单粗暴有效 勾选最下面那个钩钩,这样在配置文件里写入中文的时候,实际保存的时候是经过转码的,这种方式能够兼容所有平台,包括Mac.windows .Linux

C. PHP读取TXT中文乱码的解决方法

PHP读取TXT中文乱码的解决方法 2013-03-01 19:12 2203人阅读 评论(0) 收藏 举报 //$fname文件名称 if ($fname = $_FILES['nickname']['tmp_name']) { //file_get_contents() 函数把整个文件读入一个字符串中. $contents = file_get_contents($fname); //获取文件的编码方式 $encoding = mb_detect_encoding($contents, ar

一种可以解决python读取文件中文出乱码的方法

这几天刚刚入手学习python,今天在进行python文件存取的时候出现输出中文乱码问题.当然作为一名python技术小白,也只能通过在百度上查找结果.通过导入 'os'模块,如下: username = input('username:') os.system("cd.>test.txt")      fp = open('test.txt','w+')      fp.write(username) 可以将输入的username字符串写入到文件text.txt中,该文件存在本