西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页编程开发其它知识 → Source Insight乱码的解决方案,SI不支持UTF-8字符编码乱码

Source Insight乱码的解决方案,SI不支持UTF-8字符编码乱码

相关软件相关文章发表评论 来源:西西整理时间:2015/1/5 13:40:06字体大小:A-A+

作者:西西点击:11089次评论:0次标签: SourceInsight

Source InsightV3.5.64汉化绿色版
  • 类型:编程工具大小:5.8M语言:中文 评分:2.2
  • 标签:
立即下载

最近使用source insight查看一些开源代码,显示中文就乱码,据说是因为source insight不支持utf-8编码,默认编码方式为ANSI码。所以需要将utf-8等非ANSI码的文件转换成source insight默认支持的ANSI码格式才能显示中文不乱码。

【问题】

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

【解决过程】

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

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

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

不过很不幸的是,

有什么办法可以让source insight支持utf-8编码的源代码文件吗?

找到SI官网的解释:

Source Insight 3.x Frequently Asked Questions

Q: Does Source Insight support UNICODE files?

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

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

Source Insight(程序编辑器)
6.0
类别: 编程工具    大小:4.8M    语言: 英文
查看详细信息 >>

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

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

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

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

iconv的使用方法为:

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

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

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

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

【总结】

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

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

   解决方案如下:

一、单个文件转换

对于单个文件,好说,只要将非ANSI码格式的文件转换成ANSI码格式即可,方法如下:
1、将文件用ultraEdit32打开,选择 文件->转换->UTF-8到ANSI, 然后保存。重新用source insight打开就好

了。

或者使用记事本打开非ANSI格式的源代码文件,另存为,在保存选项对话框中,在编码格式一栏中发现是UTF-8,选择ANSI一项,保存,再用Source Insight打开就可以正常显示中文注释了。具体可参考百度经验的一篇文章:source insight 中文乱码的解决方案。

2、借助Linux下的iconv命令

(1)关于iconv命令的用法,可以在Linux下的终端键入iconv --help或者iconv  --usage来查看

可以参考这篇文章:http://www.firekyrin.com/archives/249.html

即可以使用iconv库函数(包含在glib中)和iconv命令来执行编码转换,即:

iconv -f utf-8 -t  gb18030 file1.txt -o file2.txt

将utf-8编码的file1.txt文件转换成gb18030编码的file2.txt文件。

source insight 中文注释为乱码解决

(1)source insight 阅读VC++源码,注释为乱码解决方案

1、options->preferences->Syntax Formatting->Styles;

2、在Style Name 选择 Comment,再对其Font Name 选择Pick,然后再选择“新宋体”。

(2)source insight 阅读Linux源码,注释为乱码解决方案

1、用记事本打开源文件,中文可以显示,我另存为,在保存选项中,编码一栏发现是:UTF-8。我选在ANSI一项,保存。再用Source Insight 打开,终于可以显示了。

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    第 1 楼 本机地址中国 网友 客人 发表于: 2016/5/18 10:03:47
    不错,给赞

    支持( 0 ) 盖楼(回复)

    发表评论 查看所有评论(0)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)