Python论坛  - 讨论区

标题:[python-chinese] windows下UTF-8文件名问题

2006年09月15日 星期五 13:18

Vincent Wen vincentwen在gmail.com
星期五 九月 15 13:18:21 HKT 2006

ÔÚдһ¸öС³ÌÐò£¬ÀïÃæËùÓеÄÊý¾Ý¶¼ÊÇÓÃunicode´¦ÀíµÄ£¬ÎļþÃûÒ²ÏëÓÃunicode£¬µ«ÊÇwindowsÏÂutf-8ÎļþÃûÏÔʾȴÊÇÂÒÂ룬´ó¼ÒÖªµÀÈçºÎ½â¾öÂð£¿

ÏÂÃæÊÇÒ»¸ö²âÊÔ³ÌÐò£º
# -*- coding: cp936 -*-

filename = "²âÊÔ.txt";
utf_file = filename.decode("gb2312").encode("utf-8");

open(utf_file,"w+");

¸Ã³ÌÐò½¨Á¢µÄÎļþÊÇ æµ‹è¯•.txt

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

2006年09月15日 星期五 13:24

limodou limodou在gmail.com
星期五 九月 15 13:24:04 HKT 2006

On 9/15/06, Vincent Wen <vincentwen在gmail.com> wrote:
> ÔÚдһ¸öС³ÌÐò£¬ÀïÃæËùÓеÄÊý¾Ý¶¼ÊÇÓÃunicode´¦ÀíµÄ£¬ÎļþÃûÒ²ÏëÓÃunicode£¬µ«ÊÇwindowsÏÂutf-8ÎļþÃûÏÔʾȴÊÇÂÒÂ룬´ó¼ÒÖªµÀÈçºÎ½â¾öÂð£¿
>
> ÏÂÃæÊÇÒ»¸ö²âÊÔ³ÌÐò£º
> # -*- coding: cp936 -*-
>
> filename = "²âÊÔ.txt";
> utf_file = filename.decode("gb2312").encode("utf-8");
>
> open(utf_file,"w+");
>
> ¸Ã³ÌÐò½¨Á¢µÄÎļþÊÇ æµ‹è¯•.txt
>
µ±È»ÒªÂÒÁË£¬ÒòΪÄãµÄwindowsʹÓõıàÂë²»ÊÇutf-8µÄ¡£Äã¿ÉÒÔͨ¹ý£º

import sys
sys.sys.getfilesystemencoding()
Èç¹ûÊÇmcbsÄǾͲ»ÊÇutf-8±àÂë¡£Òò´ËÄãµÄÎļþ¿´ÉÏÈ¥¾ÍÊÇÂҵġ£

-- 
I like python!
My Blog: http://www.donews.net/limodou
UliPad Site: http://wiki.woodpecker.org.cn/moin/UliPad
UliPad Maillist: http://groups.google.com/group/ulipad

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

2006年09月15日 星期五 13:25

shhgs shhgs.efhilt在gmail.com
星期五 九月 15 13:25:13 HKT 2006

这是windows的问题。

------------------------------------------------
>>> import sys
>>>  sys.getfilesystemencoding()
'mbcs'
------------------------------------------------

Windows的文件系统是用mbcs编码的,你也只能用mbcs编码的文字做文件名。





On 9/15/06, Vincent Wen <vincentwen在gmail.com> wrote:
> 在写一个小程序,里面所有的数据都是用unicode处理的,文件名也想用unicode,但是windows下utf-8文件名显示却是乱码,大家知道如何解决吗?
>
> 下面是一个测试程序:
> # -*- coding: cp936 -*-
>
> filename = "测试.txt";
> utf_file = filename.decode("gb2312").encode("utf-8");
>
> open(utf_file,"w+");
>
> 该程序建立的文件是 娴嬭瘯.txt
>
> _______________________________________________
> 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]

2006年09月15日 星期五 13:35

大熊 bearsprite在gmail.com
星期五 九月 15 13:35:46 HKT 2006

如果你的分区是ntfs是可以的
你只要把相应的文件名参数由str改成unicode就行了

2006/9/15, shhgs <shhgs.efhilt在gmail.com>:
>
> 这是windows的问题。
>
> ------------------------------------------------
> >>> import sys
> >>>  sys.getfilesystemencoding()
> 'mbcs'
> ------------------------------------------------
>
> Windows的文件系统是用mbcs编码的,你也只能用mbcs编码的文字做文件名。
>
>
>
>
>
> On 9/15/06, Vincent Wen <vincentwen在gmail.com> wrote:
> >
> 在写一个小程序,里面所有的数据都是用unicode处理的,文件名也想用unicode,但是windows下utf-8文件名显示却是乱码,大家知道如何解决吗?
> >
> > 下面是一个测试程序:
> > # -*- coding: cp936 -*-
> >
> > filename = "测试.txt";
> > utf_file = filename.decode("gb2312").encode("utf-8");
> >
> > open(utf_file,"w+");
> >
> > 该程序建立的文件是 娴嬭瘯.txt
> >
> > _______________________________________________
> > 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
> >
> _______________________________________________
> 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/20060915/4305a19a/attachment.htm 

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

2006年09月15日 星期五 13:47

Vincent Wen vincentwen在gmail.com
星期五 九月 15 13:47:36 HKT 2006

thx,明白了,那实际上我将utf-8转换为mbcs编码作为文件名就可以了吧。

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

2006年09月15日 星期五 13:50

limodou limodou在gmail.com
星期五 九月 15 13:50:14 HKT 2006

On 9/15/06, Vincent Wen <vincentwen在gmail.com> wrote:
> thx,明白了,那实际上我将utf-8转换为mbcs编码作为文件名就可以了吧。

可以。或者直接使用unicode,python会自动根据你的操作系统的编码进行转换的。

-- 
I like python!
My Blog: http://www.donews.net/limodou
UliPad Site: http://wiki.woodpecker.org.cn/moin/UliPad
UliPad Maillist: http://groups.google.com/group/ulipad

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

2006年09月15日 星期五 16:11

chenwei chenwei在sobey.com
星期五 九月 15 16:11:30 HKT 2006

import sys
sys.getdefaultencoding()
'ascii'
----- Original Message ----- 
From: "limodou" <limodou at gmail.com>
To: <python-chinese at lists.python.cn>
Sent: Friday, September 15, 2006 1:24 PM
Subject: Re: [python-chinese] windowsÏÂUTF-8ÎļþÃûÎÊÌâ


> On 9/15/06, Vincent Wen <vincentwen at gmail.com> wrote:
>> ÔÚдһ¸öС³ÌÐò£¬ÀïÃæËùÓеÄÊý¾Ý¶¼ÊÇÓÃunicode´¦ÀíµÄ£¬ÎļþÃûÒ²ÏëÓÃunicode£¬µ«ÊÇwindowsÏÂutf-8ÎļþÃûÏÔʾȴÊÇÂÒÂ룬´ó¼ÒÖªµÀÈçºÎ½â¾öÂð£¿
>>
>> ÏÂÃæÊÇÒ»¸ö²âÊÔ³ÌÐò£º
>> # -*- coding: cp936 -*-
>>
>> filename = "²âÊÔ.txt";
>> utf_file = filename.decode("gb2312").encode("utf-8");
>>
>> open(utf_file,"w+");
>>
>> ¸Ã³ÌÐò½¨Á¢µÄÎļþÊÇ æµ‹è¯•.txt
>>
> µ±È»ÒªÂÒÁË£¬ÒòΪÄãµÄwindowsʹÓõıàÂë²»ÊÇutf-8µÄ¡£Äã¿ÉÒÔͨ¹ý£º
> 
> import sys
> sys.sys.getfilesystemencoding()
> Èç¹ûÊÇmcbsÄǾͲ»ÊÇutf-8±àÂë¡£Òò´ËÄãµÄÎļþ¿´ÉÏÈ¥¾ÍÊÇÂҵġ£
> 
> -- 
> I like python!
> My Blog: http://www.donews.net/limodou
> UliPad Site: http://wiki.woodpecker.org.cn/moin/UliPad
> UliPad Maillist: http://groups.google.com/group/ulipad
>


--------------------------------------------------------------------------------


> _______________________________________________
> 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]

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

    你的回复:

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

    Zeuux © 2025

    京ICP备05028076号