python 读取sql server数据中文乱码
【问题分析】:①、默认情况下SQL Server 使用ISO字符集(latin1字符集);
②、python的 pyodbc模块默认以'utf8'编码方式解码(默认charset='utf8');
③、数据库内的中文,被python以二进制的方式读取后以'utf8'方式解码显示为乱码,其二进制数据未改变。
解决方案一:
str.encode('latin1').decode('GB2312'), str==乱码的字符
解决方案二:
连接数据库采用编码:charset='GB18030'
onnection = pyodbc.connect(
"Driver={"SQL Driver"};"
"Server= "ServerName";"
"Database="DatabaseName";"
"UID="UserName";"
"PWD="Password";"
charset='GB18030'
)