kobemini 2018-07-17
最近使用source insight查看一些开源代码,显示中文就乱码,据说是因为source insight不支持utf-8编码,默认编码方式为ANSI码。所以需要将utf-8等非ANSI码的文件转换成source insight默认支持的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文件。
(2)使用Ruby脚本转换
参考这篇文章:使用Iconv将Utf-8转换成ASCII(on Linux)
这两种方法说实话还不如第1种方法实用。
二、批量文件转换
对于批量的非ANSCII码格式的文件
参考这篇文章的方法:Source Insight完美转换UTF-8 到 GB2312 .
目前看来这个方法不是很有效。
期待Source Insight开发团队,或者国内热心的程序开发者给提供将带有UTF-8格式的中文注释的源代码批量转换成ANSI码格式的通用方法。
毕竟Source Insight源代码对于软件开发者来说的确是一款优秀的代码阅读和编辑器。
1. 首先,我得知道这个文件具体采用的是什么样的编码,如果是ISO-8859我将会把它转成UTF-8,其他的ASCII这些都先不做处理,这里可以使用file filename或者是enca iconv