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)