Chinaunix首页 | 论坛 | 博客
  • 博客访问: 859253
  • 博文数量: 1384
  • 博客积分: 27795
  • 博客等级: 上将
  • 技术积分: 16887
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-12 09:28
个人简介

只是心态,抓住机会。

文章分类

全部博文(1384)

文章存档

2014年(3)

2013年(403)

2012年(978)

分类: C/C++

2013-01-26 10:58:58

【基本解决】Source Insight中文显示乱码,不支持UTF-8字符编码


【问题】

用Source Insight打开一个Python文件,其中包含中文,但是中文在SI中显示的是乱码:

si cn messy

【解决过程】

1.后来去看了下,原先这个文件,是UTF-8编码的。

这说明,目前SI不支持UTF-8编码,所以中文显示乱码。

2.现在就是想办法,看看能否让其正确显示UTF-8编码的中文字符。

不过很不幸的是,从

找到SI官网的解释:

Q: Does Source Insight support UNICODE files?

A: Source Insight 3.x does not yet support UNICODE files.

即,SI 3.x竟然,不支持Unicode,所以,让其支持UTF-8的梦想破灭了。

不过想说的是,其在字符集,字符编码这方面的支持,也的确够垃圾的,竟然连如此通用的UTF-8编码都不支持。

 

3.不过,如果只是想要包含的中文等字符正常显示的话,导致找到了解决办法,那就是,将其转换为本地ANSI编码,此处即为,将UTF-8的源文件,用Notepad++转换为本地ANSI,即GB2312编码,此时,再用SI打开,就可以正常显示中文了:

si cn gb2312 OK

 

而对于如果是多个文件,只是想要让其正确显示中文的话,则此处,暂时是只能通过编码转换来实现。

关于编码转换,除了用Notepad++等工具,可以使用iconv工具去转换。

iconv的使用方法为:

?
1
iconv -c -f utf-8 -t gb2312 BlogSohu_utf8.py >> BlogSohu_ansi_gb2312.py

 

不过,对于我来说,由于代码是Python代码,其对编码是敏感的,即不能随便转换为别的编码,否则会影响我里面的代码的执行的.

所以,不能为了用SI看代码爽,而把Python程序的编码改变了,否则导致程序无法正常执行,就得不偿失了.

因此,目前还是很悲催的,还是该为(之前一直就用的)Notepad++看Python代码吧,效果也还是不错的:

npp see py code

 

【总结】

SI中,想要UTF-8的中文字符正常显示的话,目前没有直接支持的方法。

暂时只能通过将原UTF-8的格式的文件,转换为本地ANSI编码(此处是简体中文,对应的ANSI编码为GB2312),然后再用SI打开此ANSI编码的文件,中文字符就不是乱码,就可以正常显示了。

关于文件的转换编码的方法,目前比较好用的有:

1.通过Notepad++转换

用Notepad++打开文件 -> 格式 -> 转为ANSI编码格式

详细图文详解可参考:

2.通过命令行工具iconv转换

比如,将UTF-8的gb2312 BlogSohu_utf8.py转换为GB2312编码,对应iconv命令为:

?
1
iconv -c -f utf-8 -t gb2312 BlogSohu_utf8.py >> BlogSohu_ansi_gb2312.py

关于iconv,可以考虑安装Cygwin开发环境,相关介绍可参考:Cygwin中部分模块功能简介

阅读(7004) | 评论(1) | 转发(0) |
0

上一篇:DLNA Open Source Projects

下一篇:第一步init

给主人留下些什么吧!~~

bronts2013-03-27 11:17:02

不得不说,si竟然在编码方面弱的跟渣一样,汉字都是半个字符,tnnd