V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
boangs
V2EX  ›  问与答

用v2ex搭建了个应用,一切都好,但遇到上汉字报错问题。

  •  
  •   boangs · Nov 10, 2010 · 5243 views
    This topic created in 5659 days ago, the information mentioned may be changed or developed.
    应用地址为:http://www.biteam.info
    和livid版同步的同时,费了好大的劲,把xuming的google登录也弄过来了。
    可是,用google帐户登录之后,设置用户名为汉字的,可以保存。但到后面进行设置的时候,无法保存,出错了:

    Traceback (most recent call last):
    File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 513, in __call__
    handler.post(*groups)
    File "/base/data/home/apps/bi-team/1.346120333639088886/member.py", line 405, in post
    memcache.delete('Member::' + str(member.username))
    UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)

    难道不能拿汉字做用户名吗?

    3 replies    1970-01-01 08:00:00 +08:00
    billychow
        1
    billychow  
       Nov 10, 2010
    可以的
    不过需要修改几处与 username 的地方, 看你的错误提示, 应该是 memcache 的 key 不支持, 所以你需要修改相关的 cache key, 使用 urlencode 或其它的 unique key 做 memcache 的 key
    Sunyanzi
        2
    Sunyanzi  
       Nov 10, 2010
    我最近在实用中发现这种小问题特别的多 ...

    甚至还包括如果语言是中文就无法编辑后台的标签等等问题 ...

    自己改代码加上 decode('utf-8') 吧 ...
    boangs
        3
    boangs  
    OP
       Nov 10, 2010
    谢谢二位,我再研究研究。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2792 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 01:39 · PVG 09:39 · LAX 18:39 · JFK 21:39
    ♥ Do have faith in what you're doing.