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)

 

你可能感兴趣的:(python,DB)