V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
boangs
V2EX  ›  问与答

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

  •  
  •   boangs · 2010-11-10 22:35:20 +08:00 · 4554 次点击
    这是一个创建于 5104 天前的主题,其中的信息可能已经有所发展或是发生改变。
    应用地址为: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 条回复    1970-01-01 08:00:00 +08:00
    billychow
        1
    billychow  
       2010-11-10 22:43:30 +08:00
    可以的
    不过需要修改几处与 username 的地方, 看你的错误提示, 应该是 memcache 的 key 不支持, 所以你需要修改相关的 cache key, 使用 urlencode 或其它的 unique key 做 memcache 的 key
    Sunyanzi
        2
    Sunyanzi  
       2010-11-10 22:44:38 +08:00
    我最近在实用中发现这种小问题特别的多 ...

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

    自己改代码加上 decode('utf-8') 吧 ...
    boangs
        3
    boangs  
    OP
       2010-11-10 23:04:02 +08:00
    谢谢二位,我再研究研究。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2731 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 14:28 · PVG 22:28 · LAX 07:28 · JFK 10:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.