Chinaunix首页 | 论坛 | 博客
  • 博客访问: 115821
  • 博文数量: 15
  • 博客积分: 152
  • 博客等级: 入伍新兵
  • 技术积分: 255
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-29 17:10
文章分类

全部博文(15)

文章存档

2017年(1)

2015年(1)

2013年(8)

2012年(5)

分类: Python/Ruby

2013-06-25 12:36:59

python是支持utf-8编码的,但是为毛用open打开文件是以ansi编码方式打开?
坑得我好苦呀。
记下经过备忘。

花了好久写了一个使自己不再需要做重复劳动的小软件,大功就要造成了,tex文档已经生成,只差编译tex文档生成pdf的时候,发现死活不能编译通过,但是用vim打开,次次都能编译通过,太神奇了,命令完全一样,竟然一个能编译通过一个不能,仔细检查命令N遍,确实完全一样,有时在cmd里输入命令也能编译通过,真是神奇了,vim难道还有如此神奇的功能,保证xetex能够正确编译tex?这不科学呀。

前后检查了N遍,都没有发现问题,后来一下子又想到编码方式,自己的vim是配置成自动将编译转换成utf-8的,会不会这个原因呢?马上用这个测试版的软件,生成了一个tex文档,用记事本打开一看,真不是utf-8编译方式,是ansi,在cmd下试着输入命令编译,果然通不过,将tex文档另存为utf-8编码方式,再试一次,果不其然,编译通过,正确生成并打开pdf。

然后将打开文件的函数里加入encoding = 'utf-8'

点击(此处)折叠或打开

  1. open(filename, 'w', encoding = 'utf-8')
重新运行一次,OK,正确生成并打开pdf。。


尼玛呀,python你既然支持utf-8,utf-8是以后的编码方向,open函数的默认值竟然不是utf-8?害我做了多少重复劳动呀。

真坑爹,记下耻辱的一笔,备忘。以后不能范这种低级错误。

虽然被坑,但是还要顶xetex,只支持utf-8,ansi编码方式就是不给通过,以后就应该淘汰这种落后的,给世界带来不和谐的编码方式,统一为utf-8。
阅读(1540) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~