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

请教个关于 python\Dajngo 设置 cookie 时编码的问题。

  •  
  •   Anybfans · 2015-07-21 18:32:40 +08:00 · 2012 次点击
    这是一个创建于 3240 天前的主题,其中的信息可能已经有所发展或是发生改变。

    具体代码如上
    这里获取一个ubid 然后通过模型获取了一个对象,其中的两个属性 学校名称和班级名称,该字符串现在是unicode类型的,学校名称和班级名称都为汉语。大概如下。xx县第一实验小学|102班

    现在将他们拼接成字符串,然后跟这个ubid设置成一个key value的cookie。
    设置cookie时如果不进行encode('utf-8'),则报'ascii' codec can't encode characters in position 0-8: ordinal not in range(128)错,加上后正常。

    在前台页面获取到这个cookie.值为
    \351\203\221\345\267\236\345\270\202\346\203\240\346\265\216\345\214\272\344\270\234\351\243\216\350\267\257\345\260\217\345\255\246|105\347\217\255

    请问要怎么进行处理,还原为中文。。查了好久没找到才来请教的 。先谢谢了!

    6 条回复    2015-07-22 11:55:09 +08:00
    Anybfans
        1
    Anybfans  
    OP
       2015-07-21 18:33:10 +08:00
    稍微顶一下。。 打扰啦~
    yahoo21cn
        2
    yahoo21cn  
       2015-07-21 18:56:39 +08:00 via Android
    2还是3,文件本身是什么编码的,文件头是否声名了编码
    Anybfans
        3
    Anybfans  
    OP
       2015-07-22 08:29:37 +08:00
    @yahoo21cn python2 py文件声明了# coding=utf-8
    Anybfans
        4
    Anybfans  
    OP
       2015-07-22 08:46:18 +08:00
    好难解决。。
    yahoo21cn
        5
    yahoo21cn  
       2015-07-22 11:53:31 +08:00
    print str('\351\203\221\345\267\236\345\270\202\346\203\240\346\265\216\345\214\272\344\270\234\351\243\216\350\267\257\345\260\217\345\255\246|105\347\217\255').decode('string_escape')
    yahoo21cn
        6
    yahoo21cn  
       2015-07-22 11:55:09 +08:00
    好像直接pring就可以了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1597 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:55 · PVG 00:55 · LAX 09:55 · JFK 12:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.