【发布时间】:2021-06-12 20:53:43
【问题描述】:
我正在使用 pyodbc 从 sql 查询中读取数据帧,但一直收到错误消息,提示 'utf-8' codec can't decode byte 0xa0 in position n: invalid start byte。代码如下。如何修复此错误?谢谢
import pyodbc
import pandas as pd
conn = pyodbc.connect('DRIVER={SQL Server};SERVER=SSXBYXSQL107,5269;DATABASE=INV_Q1;Trusted_Connection=yes;')
conn.setencoding(encoding='utf-8')
conn.setdecoding(pyodbc.SQL_CHAR, encoding='utf-8')
conn.setdecoding(pyodbc.SQL_WCHAR, encoding = 'utf-8')
sql_query="select [inventory_desc] from [INV_Q1].[INV_Detail].[Inventory]"
df_inv=pd.read_sql(sql_query, conn)
【问题讨论】:
-
该错误意味着您的数据库未向您提供 UTF-8 数据。怎么修?选择数据的编码,或告诉您的数据库客户端以预期的编码向您提供数据。
标签: sql-server python-3.x utf-8 pyodbc