python 程序,在开发机上面没有编码问题,在 vps 上有编码问题,怎么破?

2013-09-02 22:33:00 +08:00
 yangzh
python flask 程序。

开发机和 vps 都使用了同样的 python 2.7,而且,依赖什么的都一样。

在开发机上运行,一切正常。

网站搬到 vps 上,同样的位置会出现

UnicodeEncodeError: 'ascii' codec can't encode character u'\u6211' in position 20: ordinal not in range(128)

有没有大神提供一些 debug 的思路?
2437 次点击
所在节点    问与答
5 条回复
xunyu
2013-09-02 22:47:56 +08:00
是加了中文引起的吧,开发机是不是windows环境,在字符串后面加上encode('utf-8') 试试
iloahz
2013-09-02 22:49:35 +08:00
看看数据库的编码吧
yangzh
2013-09-02 22:56:40 +08:00
@xunyu @iloahz

是中文引起的,也就只有中文这么惨了。但是在开发机为什么没有这个问题呢??!!
aoyoo
2013-09-02 23:06:58 +08:00
@yangzh 开发机的默认编码和vps不一样吧
yangzh
2013-09-02 23:08:45 +08:00
@aoyoo
@xunyu

搞定了。居然是机器的 locale 问题。
我的开发机的 locale 是 en_US.UTF-8,vps 上是 zh_CN.UTF-8,把 vps 上的 locale 改为 en 就可以运行了!

@iloahz

大神!一眼就看穿了!我从来想不到是 locale 的问题。。。我还重装了一次 python。。

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

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

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

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

© 2021 V2EX