Python 板


LINE

想请教各位高手们有没有遇到如标题的问题过?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://webptt.com/cn.aspx?n=bbs/Python/M.1667461595.A.068.html
1F:→ tzouandy2818: 会不会是你编解码选错格式 11/03 16:21
2F:→ surimodo: 把完整程式码贴出来 11/03 16:31
3F:→ Hsins: 你忽略了很多情境的叙述,无法判断是哪边出问题。 11/03 17:52
4F:→ Hsins: 听起来比较像是你原先已经在里面的中文,跟你选用的字元集 11/03 17:55
5F:→ Schottky: charset 改用 UTF-8 就没问题了 11/03 17:55
6F:→ Hsins: 并不一致 11/03 17:55
7F:→ Hsins: 除此之外,你也要检查一下编辑器的编码 11/03 17:55
8F:推 Schottky: 会使用 CP950 我猜是用 CMD 命令提示字元 11/03 19:00
※ 编辑: ReTryx (123.51.216.154 台湾), 11/04/2022 09:42:07
9F:→ ReTryx: 我是用Spyder IDE, 预设编码是UTF-8 11/04 09:42
10F:→ ReTryx: charset如果改用UTF-8则也是无法连线 11/04 09:43
11F:→ ReTryx: 所有东西都用预设,用C, js or vba写中文进SQL就都没问题 11/04 09:45
12F:→ ReTryx: 就是python进SQL中文有问题,也读不了上述语言写进的中文 11/04 09:45
13F:→ lycantrope: 把varchar转nvarchar? 11/04 11:11
14F:→ Hsins: 他有提到原本有存中文, 应该不是 varchar/nvarchar 的差异 11/04 12:14
15F:→ Hsins: 比较可能是 encode 和 decode 没做好 11/04 12:14
16F:→ Hsins: 你尝试的 encode 跟 decode 是怎麽操作的? 11/04 12:24
17F:推 Schottky: 什麽叫作 charset 设成 UTF-8 就无法连线 11/04 13:54
18F:→ Schottky: 如果你的中文是写在档案内,档案本身是 UTF-8 编码吗 11/04 13:56
19F:→ ReTryx: datatype已经是nvarchar了 11/04 13:57
20F:→ ReTryx: a = '中文'.encode('utf-8').decode('utf-8') 11/04 14:06
21F:→ ReTryx: Python档案里面本身是utf-8没错 # -*- coding: utf-8 -*- 11/04 14:06
22F:→ ReTryx: 也试过把decode encode交叉互换成big5也都是不行 11/04 14:07
23F:→ Hsins: 实话说,你可能没搞清楚 encode 跟 decode 在干嘛,另外是 11/04 14:22
24F:→ Hsins: 上下文提供的不够明确跟精准 11/04 14:22
25F:→ ReTryx: 我再来研究一下编码 感谢各位~ 11/04 14:26
26F:推 Schottky: ......你先把中文字串 print 出来看看是不是正确的 11/04 14:52
27F:→ ReTryx: Python 中print 出来是正确的,但SQL里跟用其他语言print 11/06 16:26
28F:→ ReTryx: 出来是乱码 11/06 16:26







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP