yangzh
V2EX  ›  问与答

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

  •  
  •   yangzh · Sep 2, 2013 · 3312 views
    This topic created in 4820 days ago, the information mentioned may be changed or developed.
    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 的思路?
    Supplement 1  ·  Sep 2, 2013
    搞定了。居然是机器的 locale 问题。
    我的开发机的 locale 是 en_US.UTF-8,vps 上是 zh_CN.UTF-8,把 vps 上的 locale 改为 en 就可以运行了!
    5 replies  •  1970-01-01 08:00:00 +08:00
    xunyu
    xunyu
    Sep 2, 2013❤️1
    1
    是加了中文引起的吧,开发机是不是windows环境,在字符串后面加上encode('utf-8') 试试
    iloahz
    iloahz
    Sep 2, 2013❤️1
    2
    看看数据库的编码吧
    yangzh
    yangzh
    OP
    Sep 2, 2013
    3
    @xunyu @iloahz

    是中文引起的,也就只有中文这么惨了。但是在开发机为什么没有这个问题呢??!!
    aoyoo
    aoyoo
    Sep 2, 2013❤️1
    4
    @yangzh 开发机的默认编码和vps不一样吧
    yangzh
    yangzh
    OP
    Sep 2, 2013
    5
    @aoyoo
    @xunyu

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

    @iloahz

    大神!一眼就看穿了!我从来想不到是 locale 的问题。。。我还重装了一次 python。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2258 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 02:27 · PVG 10:27 · LAX 18:27 · JFK 21:27
    ♥ Do have faith in what you're doing.