URN Logo
UNIX Resources » Linux » China Linux Forum » Python 编 程 » 7 » 这个问题是关于在windows中一个特殊符号显示的问题
announcement 声明: 本页内容为中国Linux论坛的内容镜像,文章的版权以及其他所有的相关权利属于中国Linux论坛和相应文章的作者,如果转载,请注明文章来源及相关版权信息。
Resources
China Linux Forum(finished)
Linux Forum(finished)
FreeBSD China(finished)
linuxforum.net
  业界新闻与评论
  自由软件杂谈
  IT 人生
  Linux软件快递
  翻译作坊
  Linux图书与评论
  GNU Emacs/XEmacs
  Linux 中文环境和中文化
  Linux桌面与办公软件
  Linux 多媒体与娱乐版
  自由之窗Mozilla
  笔记本电脑上的Linux
  Gentoo
  Debian 一族
  网络管理技术
  Linux 安装与入门
  WEB服务器和FTP服务器
  域名服务器和邮件服务器
  Linux防火墙和代理服务器应用
  文件及打印服务器
  技术培训与认证
  Linux内核技术
  Linux 嵌入技术
  Linux设备驱动程序
  Linux 集群技术
  LINUX平台数据库
  系统和网络安全
  CPU 与 编译器
  系统计算研究所专栏
  Linux下的GUI软件开发
  C/C++编程版
  PHP 技 术
  Java&jsp技术
  Shell编程技术
  Perl 编 程
  Python 编 程
  XML/Web Service 技术
  永远的Unix
  FreeBSD世界
   
这个问题是关于在windows中一个特殊符号显示的问题
 
 
 
Subject: 这个问题是关于在windows中一个特殊符号显示的问题
Author: ehu4ever    Posted: 2005-08-20 22:13    Length: 859 byte(s)
[Original] [Print] [Top]
假设目录dir中有一个文件file,file的文件名中有个符号©,一个圆圈中有一个字母c,就是copyright的意思。
我在python中用print ' '.join([f for f in os.listdir(dir)]),
file显示的文件名中符号©显示为?(一个问号)

请问这个问题怎样解决?



console里的输出是这样:
>>> dir = 'e:\'
>>> print dir
e:
>>> import os
>>> print ' '.join([f for f in os.listdir(dir)])
…………
John Wiley & Sons ? 2004 - John Wiley And Sons Professional Jakarta Struts.txt
…………
>>> import sys
>>> sys.stdout.encoding
'cp936'
>>>
[Original] [Print] [Top]
Subject: Re: 这个问题是关于在windows中一个特殊符号显示的问题
Author: ehu4ever    Posted: 2005-08-20 22:15    Length: 22 byte(s)
[Original] [Print] [Top]
这个符号在贴里显示不出
[Original] [Print] [Top]
Subject: 热烈庆祝热烈庆祝,熬到了凌晨2点,终于××××的搞定了
Author: ehu4ever    Posted: 2005-08-21 02:34    Length: 715 byte(s)
[Original] [Print] [Top]
>>> dir = u'e:\copyright'
>>> ' '.join([f.encode('cp936') for f in os.listdir(dir)])
Traceback (most recent call last):
File "<stdin>", line 1, in ?
UnicodeEncodeError: 'gbk' codec can't encode character u'xa9' in position 18: illegal multibyte seq
uence
>>> ' '.join([f.encode('utf8') for f in os.listdir(dir)])
'John Wiley & Sons xc2xa9 2004 - John Wiley And Sons Professional Jakarta Struts.txt'
>>>



这样这个文件名在gtk这种只显示unicode的GUI上显示的时候就会正常地显示copyright符号了
[Original] [Print] [Top]
« Previous thread
PyGTK中显示windows中的unicode文件名(这是对我上一个贴子的总结)
Python 编 程
7
Next thread »
Q: 请教把文本统一转换为 UTF-8
     

Copyright © 2007 UNIX Resources Network, All Rights Reserved.      About URN | Privacy & Legal | Help | Contact us
备案序号: 京ICP备05006143    webmaster: webmaster@unixresources.net
This page created on 2008-07-17 04:11:05, cost 0.035809993743896 ms.