Python论坛  - 讨论区

标题:[python-chinese] diffrent encoding

2007年12月11日 星期二 17:09

Bo Gao lulihummel在gmail.com
星期二 十二月 11 17:09:23 HKT 2007

 when i am on the python console,
 >>> a = u'ø'
 >>> a
u'\xf8'
while, when i am on the django console with  ./manage shell
>>> a = u'ø'
 >>> a
u'\xc3\xb8'
 why is it diffrent? thanks

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年12月11日 星期二 19:33

Jiahua Huang jhuangjiahua在gmail.com
星期二 十二月 11 19:33:23 HKT 2007

1. 你的 CMD 环境依旧是 GB18030
2. 跟 iPython 的问题一样, django 的 shell 也不能正确处理 unicode 字符串

要么你手工执行 python 后手工导入

要么就用
'ø'.decode('gb18030')
或
'ø'.decode('utf8')
或
unicode('ø')


On Dec 11, 2007 5:09 PM, Bo Gao <lulihummel at gmail.com> wrote:
>  when i am on the python console,
>  >>> a = u'ø'
>  >>> a
> u'\xf8'
> while, when i am on the django console with  ./manage shell
> >>> a = u'ø'
>  >>> a
> u'\xc3\xb8'
>  why is it diffrent? thanks

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年12月11日 星期二 23:28

Bo Gao lulihummel在gmail.com
星期二 十二月 11 23:28:49 HKT 2007

Thanks for your reply.My OS is ubuntu with the default environment
'LANG=en_US.UTF-8'. Under the django shell, sys.getdefaultencoding()
displays 'ascii'. Which encoding does django shell follow? How can i
get it?

On 12/11/07, Jiahua Huang <jhuangjiahua在gmail.com> wrote:
> 1. 你的 CMD 环境依旧是 GB18030
> 2. 跟 iPython 的问题一样, django 的 shell 也不能正确处理 unicode 字符串
>
> 要么你手工执行 python 后手工导入
>
> 要么就用
> 'ø'.decode('gb18030')
>> 'ø'.decode('utf8')
>> unicode('ø')
>
>
> On Dec 11, 2007 5:09 PM, Bo Gao <lulihummel在gmail.com> wrote:
> >  when i am on the python console,
> >  >>> a = u'ø'
> >  >>> a
> > u'\xf8'
> > while, when i am on the django console with  ./manage shell
> > >>> a = u'ø'
> >  >>> a
> > u'\xc3\xb8'
> >  why is it diffrent? thanks
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年12月12日 星期三 01:43

Jiahua Huang jhuangjiahua在gmail.com
星期三 十二月 12 01:43:22 HKT 2007

先sys.setdefaultencoding('utf8')
用
>>> unicode('ø')
代替
>>> u'ø'


eg:
>>> import sys
>>> reload(sys)

>>> sys.setdefaultencoding('utf8')
>>> 'ø'
'\xc3\xb8'
>>> unicode('ø')
u'\xf8'
>>>
>>> a = unicode('ø')
>>> a
u'\xf8'


On Dec 11, 2007 11:28 PM, Bo Gao <lulihummel at gmail.com> wrote:
> Thanks for your reply.My OS is ubuntu with the default environment
> 'LANG=en_US.UTF-8'. Under the django shell, sys.getdefaultencoding()
> displays 'ascii'. Which encoding does django shell follow? How can i
> get it?
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年12月12日 星期三 10:11

vcc vcc在163.com
星期三 十二月 12 10:11:56 HKT 2007

system default encoding 启动以后就不能改了,所以自己设是没有用的。
怎么办?呵呵,当然有办法,那就是sitecustomize ;-)
在你的目录下放一个sitecustomize.py,里面写上:
import sys
sys.setdefaultencoding('UTF-8')

我记得以前在ubuntu下是要放在python的系统目录里才有效,不知道现在还是不是一样,试试看了。

----- Original Message ----- 
From: "Jiahua Huang" <jhuangjiahua at gmail.com>
To: <python-chinese at lists.python.cn>
Sent: Wednesday, December 12, 2007 1:43 AM
Subject: Re: [python-chinese] diffrent encoding


> 先sys.setdefaultencoding('utf8')
>>>>> unicode('ø')
> 代替
>>>> u'ø'
>
>
> eg:
>>>> import sys
>>>> reload(sys)
> 
>>>> sys.setdefaultencoding('utf8')
>>>> 'ø'
> '\xc3\xb8'
>>>> unicode('ø')
> u'\xf8'
>>>>
>>>> a = unicode('ø')
>>>> a
> u'\xf8'
>
>
> On Dec 11, 2007 11:28 PM, Bo Gao <lulihummel at gmail.com> wrote:
>> Thanks for your reply.My OS is ubuntu with the default environment
>> 'LANG=en_US.UTF-8'. Under the django shell, sys.getdefaultencoding()
>> displays 'ascii'. Which encoding does django shell follow? How can i
>> get it?
>>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese 



[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年12月12日 星期三 10:17

limodou limodou在gmail.com
星期三 十二月 12 10:17:57 HKT 2007

2007/12/12 vcc <vcc在163.com>:
> system default encoding 启动以后就不能改了,所以自己设是没有用的。
> 怎么办?呵呵,当然有办法,那就是sitecustomize ;-)
> 在你的目录下放一个sitecustomize.py,里面写上:
> import sys
> sys.setdefaultencoding('UTF-8')
>
> 我记得以前在ubuntu下是要放在python的系统目录里才有效,不知道现在还是不是一样,试试看了。
>
这种方法是要写一个文件,有时不方便。简单的就是

import sys
reload(sys)
sys.setdefaultencoding('UTF-8')

这样就可以了。
-- 
I like python!
UliPad <>: http://code.google.com/p/ulipad/
meide <>: http://code.google.com/p/meide/
My Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年12月12日 星期三 10:22

篱笆 nameliba在gmail.com
星期三 十二月 12 10:22:17 HKT 2007

reload(sys)Õâ¾äÊÇʲôÒâ˼,ÓÐʲôÓÃ.

ÔÚ07-12-12£¬limodou <limodou在gmail.com> дµÀ£º
>
> 2007/12/12 vcc <vcc在163.com>:
> > system default encoding Æô¶¯ÒÔºó¾Í²»ÄܸÄÁË£¬ËùÒÔ×Ô¼ºÉèÊÇûÓÐÓõġ£
> > Ôõô°ì£¿ºÇºÇ£¬µ±È»Óа취£¬ÄǾÍÊÇsitecustomize ;-)
> > ÔÚÄãµÄĿ¼Ï·ÅÒ»¸ösitecustomize.py£¬ÀïÃæдÉÏ£º
> > import sys
> > sys.setdefaultencoding('UTF-8')
> >
> > ÎҼǵÃÒÔÇ°ÔÚubuntuÏÂÊÇÒª·ÅÔÚpythonµÄϵͳĿ¼Àï²ÅÓÐЧ£¬²»ÖªµÀÏÖÔÚ»¹ÊDz»ÊÇÒ»Ñù£¬ÊÔÊÔ¿´ÁË¡£
> >
> ÕâÖÖ·½·¨ÊÇҪдһ¸öÎļþ£¬ÓÐʱ²»·½±ã¡£¼òµ¥µÄ¾ÍÊÇ
>
> import sys
> reload(sys)
> sys.setdefaultencoding('UTF-8')
>
> ÕâÑù¾Í¿ÉÒÔÁË¡£
> --
> I like python!
> UliPad <>: http://code.google.com/p/ulipad/
> meide <>: http://code.google.com/p/meide/
> My Blog: http://www.donews.net/limodou
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20071212/3154584e/attachment-0001.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年12月12日 星期三 10:28

limodou limodou在gmail.com
星期三 十二月 12 10:28:20 HKT 2007

2007/12/12 篱笆 <nameliba在gmail.com>:
> reload(sys)这句是什么意思,有什么用.
>
一般情况下,导入一个模块后再执行import后为了提高效率,python是不会真正再次导入的。但是reload可以重新进行导入工作。详情请查看python的手册。

-- 
I like python!
UliPad <>: http://code.google.com/p/ulipad/
meide <>: http://code.google.com/p/meide/
My Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年12月12日 星期三 10:44

vcc vcc在163.com
星期三 十二月 12 10:44:39 HKT 2007

reload有一个问题不得不查,因为它不会改变已经载入的文件的encoding。例如当前这个文件,虽然reload,但是它已经用ascii打开了,就起不了作用,所以还是sitecustomize比较妥当,不会搞晕人。

----- Original Message ----- 
From: "limodou" <limodou at gmail.com>
To: <python-chinese at lists.python.cn>
Sent: Wednesday, December 12, 2007 10:28 AM
Subject: Re: [python-chinese] diffrent encoding


> 2007/12/12 篱笆 <nameliba at gmail.com>:
>> reload(sys)这句是什么意思,有什么用.
>>
> 一般情况下,导入一个模块后再执行import后为了提高效率,python是不会真正再次导入的。但是reload可以重新进行导入工作。详情请查看python的手册。
>
> -- 
> I like python!
> UliPad <>: http://code.google.com/p/ulipad/
> meide <>: http://code.google.com/p/meide/
> My Blog: http://www.donews.net/limodou
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese 



[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年12月12日 星期三 10:48

limodou limodou在gmail.com
星期三 十二月 12 10:48:43 HKT 2007

2007/12/12 vcc <vcc在163.com>:
> reload有一个问题不得不查,因为它不会改变已经载入的文件的encoding。例如当前这个文件,虽然reload,但是它已经用ascii打开了,就起不了作用,所以还是sitecustomize比较妥当,不会搞晕人。
>
已经处理的当然不行,但为什么不象site.py一样,在启动时就做这事呢?

-- 
I like python!
UliPad <>: http://code.google.com/p/ulipad/
meide <>: http://code.google.com/p/meide/
My Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年12月12日 星期三 10:59

Jiahua Huang jhuangjiahua在gmail.com
星期三 十二月 12 10:59:19 HKT 2007

我不贴了如何让他能改的 reload(sys) 么,

另外, system default encoding 跟文件编码是两回事。

On Dec 12, 2007 10:11 AM, vcc <vcc at 163.com> wrote:
> system default encoding 启动以后就不能改了,所以自己设是没有用的。

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年12月12日 星期三 11:02

limodou limodou在gmail.com
星期三 十二月 12 11:02:50 HKT 2007

2007/12/12 Jiahua Huang <jhuangjiahua在gmail.com>:
> 我不贴了如何让他能改的 reload(sys) 么,
>
> 另外, system default encoding 跟文件编码是两回事。
>
的确,看来大家看得都不仔细啊。因为我是看了vcc的提问才进行的回答,而vcc估计是没有按你的方法进行试验。而你的回答我只是简单一看,所以没看清。哈哈。

-- 
I like python!
UliPad <>: http://code.google.com/p/ulipad/
meide <>: http://code.google.com/p/meide/
My Blog: http://www.donews.net/limodou

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号