在本地正常的内容,为什么上传到网站上就成了乱码?

2017-03-16 19:57:10 +08:00
 omg21

我在网上采集的新闻,先存在本地数据库中,然后再传到自己的网站上,前面都正常,为什么传到网站上就是乱码呢?在采集的网站是正常的,在数据库中是正常的,我从数据库中手工复制然后手工输入到网站后台的输入信息模块,显示也是正常的。唯独用 python 自动登陆从本地数据库中读取信息再自动上传到网站上时是乱码。 我的系统是 WinXp , python34 ,数据库 access ,网站用 utf-8 编码

2321 次点击
所在节点    Python
10 条回复
omg21
2017-03-16 20:02:32 +08:00
网站上的中文也都正常,就只是网站数据库中的内容是乱码
call43848
2017-03-16 20:05:10 +08:00
提示: xp 系统的默认编码不是 utf8
omg21
2017-03-16 20:29:52 +08:00
@call43848 感觉和 XP 系统没关系,因为不需要在本地输出
falseen
2017-03-16 20:37:31 +08:00
仅凭这些信息,估计没人能帮到你。
likuku
2017-03-16 20:41:20 +08:00
代码里处理字串,代码里连接数据库时,数据库数据表的编码

这 3 个地方都要 UTF-8 才会保证不乱码。
zdt3476
2017-03-16 20:59:36 +08:00
同意 5 楼。你可以在程序读取数据库数据那部分做个打印,看看数据有没有变化。
omg21
2017-03-16 21:14:34 +08:00
@likuku
@zdt3476
现在暂时解决了,在上传时每个字段加个 encode('gbk')就不是乱码,现在搞的我很奇怪,为什么是 gbk ?怎么可能呢!
zdt3476
2017-03-17 09:17:35 +08:00
@omg21 这说明你的页面编码是 gbk 。
<meta charset=utf-8>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
这样设置应该就 ok 了
omg21
2017-03-17 09:24:55 +08:00
@zdt3476
网页代码里有<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 啊,就是按这个来做的。
likuku
2017-03-17 10:36:49 +08:00
@omg21 XP 系统默认就是 gbk

中文内容信息,每一步都输出编码信息

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/348010

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX