pymssql 中文编码错误

A库中有部分数据处理放到B库中,pymssql在插入到B库时会将varchar类型的记录用UTF-8解码,这里是个耍滑头的做法,将varchar类型提前解码,插入时cast为varchar类型.两个数据库的编码格式全是cp936. ACode BCode为A库和B库的编码格式,处理思路是读完数据, bytes(content, encoding=BCode)乱码的内容,然后插入时cast为varchar类型.A库的转码在做数据库连接中设置数据库的编码类型即可.

# 中文字符串转为bytes,enconding为数据库的编码
content = bytes(content, encoding='cp936')

# 插入时
cast(%s as varchar)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章