[問題] 中文寫進MSSQL變成亂碼
想請教各位高手們有沒有遇到如標題的問題過?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如果省略不填則無法連線
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.140.175.156 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1667461595.A.068.html
→
11/03 16:21,
2年前
, 1F
11/03 16:21, 1F
→
11/03 16:31,
2年前
, 2F
11/03 16:31, 2F
→
11/03 17:52,
2年前
, 3F
11/03 17:52, 3F
→
11/03 17:55,
2年前
, 4F
11/03 17:55, 4F
→
11/03 17:55,
2年前
, 5F
11/03 17:55, 5F
→
11/03 17:55,
2年前
, 6F
11/03 17:55, 6F
→
11/03 17:55,
2年前
, 7F
11/03 17:55, 7F
推
11/03 19:00,
2年前
, 8F
11/03 19:00, 8F
※ 編輯: ReTryx (123.51.216.154 臺灣), 11/04/2022 09:42:07
→
11/04 09:42,
2年前
, 9F
11/04 09:42, 9F
→
11/04 09:43,
2年前
, 10F
11/04 09:43, 10F
→
11/04 09:45,
2年前
, 11F
11/04 09:45, 11F
→
11/04 09:45,
2年前
, 12F
11/04 09:45, 12F
→
11/04 11:11,
2年前
, 13F
11/04 11:11, 13F
→
11/04 12:14,
2年前
, 14F
11/04 12:14, 14F
→
11/04 12:14,
2年前
, 15F
11/04 12:14, 15F
→
11/04 12:24,
2年前
, 16F
11/04 12:24, 16F
推
11/04 13:54,
2年前
, 17F
11/04 13:54, 17F
→
11/04 13:56,
2年前
, 18F
11/04 13:56, 18F
→
11/04 13:57,
2年前
, 19F
11/04 13:57, 19F
→
11/04 14:06,
2年前
, 20F
11/04 14:06, 20F
→
11/04 14:06,
2年前
, 21F
11/04 14:06, 21F
→
11/04 14:07,
2年前
, 22F
11/04 14:07, 22F
→
11/04 14:22,
2年前
, 23F
11/04 14:22, 23F
→
11/04 14:22,
2年前
, 24F
11/04 14:22, 24F
→
11/04 14:26,
2年前
, 25F
11/04 14:26, 25F
推
11/04 14:52,
2年前
, 26F
11/04 14:52, 26F
→
11/06 16:26, , 27F
11/06 16:26, 27F
→
11/06 16:26, , 28F
11/06 16:26, 28F
討論串 (同標題文章)
Python 近期熱門文章
PTT數位生活區 即時熱門文章