想請教各位高手們有沒有遇到如標題的問題過?google完也試過網路上的解法,都無法成
功。
以下是環境以及問題
我用pymssql 連 mssql, 在連線的時候一定要把charset 也寫進去,不然會出現錯誤,而
我charset 是用CP950
接著在insert中文進SQL後,在SQL裡面看會發現insert進去的都是亂碼。但如果用Python
再select 出來卻會是中文。
但如果是SQL裡面本來就是中文的資料,從Python select 出來就也會變成亂碼在Python
上,同樣的,用Python 寫進去變成亂碼的中文由其他語言讀出來也會是亂碼。
簡單來說就是Python寫進去的中文亂碼只能由Python 自己讀來才能解碼成中文。而本來
在DB裡就是中文的資料Python 讀出來就會變成亂碼。
我試過用encode and decode,但還是無解。請問有人成功試過從中文從Python寫進MSSQL
裡面不會變成亂碼的嗎?
感謝幫忙
程式碼
conn = pymssql.connect(server = '', user = '', password =
'', database = '', charset='CP950')
.
.
.
cur.execute(f"Insert into dbo.ABC values ('中文', '中文二', '中文三')")
conn.commit()
以上charset如果省略不填則無法連線