使用pandas 将Dataframe的数据写入到SQL Server中,出现中文乱码

使用pandas 将Dataframe的数据写入到SQL Server中,出现中文乱码

from sqlalchemy.engine import create_engine
from urllib.parse import quote

df = pd.DataFrame({'NO':[1,2,3],'Dept':['计划','生产','人事']})
conn = create_engine(
'mssql+pyodbc://ytview:%s@172.25.15.199:1433/MEDashboard?driver=SQL+SERVER' % quote('Inalfa@2021'),encoding='gbk')
df.to_sql('bp_List',conn,if_exists='replace',index=False)

conn.dispose()

img

我的解答思路和尝试过的方法

试了各种utf-8 无效,希望有人指点Pandas与SQL SERVER交互的编码和解码设置
charset='cp936'
charset='utf-8'
都无效!希望不要做错误答案搬运工!

我想要达到的结果

pandas dataframe中文写入到SQL SERVER

如果你的 SQLSERVER不是简体中文版的,插入中文或者其他语言,要在前面加上大写N来转码。比如insert into table(goodsname) values(N'铅笔') 这样,否则会乱码。你可以先去数据库直接插入中文不加N转码试试,看看是不是sqlserver的问题。