免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7922 | 回复: 15
打印 上一主题 下一主题

写文件中文字符的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-18 11:09 |只看该作者 |倒序浏览
# -*- coding: cp936 -*-

f = open("C:\\test.txt","w")
f.write("中文")
输出文件中“中文”字符显示正常
f.write("芸")
但是输出文件中“芸”字符显示正常为一个黑框

我感觉是用了# -*- coding: cp936 -*-有关,为什么呢?请教请教

论坛徽章:
0
2 [报告]
发表于 2008-09-18 11:22 |只看该作者
可以的啊,没有黑框子出现。

coding是指定文件内容编码的。你可以试改下:# -*- coding: gbk -*

论坛徽章:
0
3 [报告]
发表于 2008-09-18 12:43 |只看该作者
我换了gbk也不行,下面是我测试用的,输出道文件还是一个黑框,

# -*- coding: cp936 -*-
import os
def WriteFile():
    f = open(os.path.join("C:\\","log.txt"),'w')
    f.write("芸")
    f.close()


if __name__ == "__main__":
    WriteFile()



但是如果我把芸字和其他字组合就没问题,比如许茹芸,就能全部输出,但就是单个芸字不能输出
真郁闷,不知道怎么回事,我知道肯定是编码错了,我用记事本打开这个python文件,里面的芸字就是一个黑框,但用python2.5自带的IDLE(Python GUI)打开就没问题,芸字还是芸字。请教高手啊。

论坛徽章:
0
4 [报告]
发表于 2008-09-18 13:03 |只看该作者

估计是系统的语言设置

你在终端里面运行:

export LANG=zh_CN.gbk

然后再运行python试试。

论坛徽章:
0
5 [报告]
发表于 2008-09-18 13:19 |只看该作者

回复 #4 cjcse 的帖子

他是在win下面跑的唉

论坛徽章:
0
6 [报告]
发表于 2008-09-18 13:22 |只看该作者
我在python自带的python shell中

IDLE 1.2.1      
>>> export LANG=zh_CN.gbk
SyntaxError: invalid syntax
>>>

提示出错。你指的是哪个终端呀?

论坛徽章:
0
7 [报告]
发表于 2008-09-18 13:24 |只看该作者

回复 #5 xiaoyu9805119 的帖子

我是在Windows xp下跑的

论坛徽章:
0
8 [报告]
发表于 2008-09-18 14:31 |只看该作者
原帖由 lunwu2004 于 2008-9-18 13:24 发表
我是在Windows xp下跑的

export LANG=zh_CN.gbk
这个是linux下修改系统语言环境的。。。

论坛徽章:
0
9 [报告]
发表于 2008-09-18 15:26 |只看该作者
搞不定,不管了,用windows自带的记事本打开是有问题,但用写字板打开就没问题。

论坛徽章:
0
10 [报告]
发表于 2008-09-18 16:02 |只看该作者
哈哈,编码用
# -*- coding: utf-8 -*-
刚才那个芸字用记事本就能打开了
但是在创建中文名称的文件夹,文件夹名就乱码了,如name = "中文"
os.mkdir(os.path.join("C:\\",name ))
在中文名前加u就没问题了 name = u"中文"

最后还有个问题就是
newName = os.path.join("C:\\",name )
f.write(name )
由于name中包含中文字符,所以说编码错误
大概意思是
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 21: ordinal not in range(12

这个又是为什么呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP