今天, 我在编译公司原有的一个项目时。突然提求错误说Deven.exe出错,开发环境随即崩溃。我以为是系统与开发环境的偶然错误,重新打开项目进行编译,还是出现这个错误。有什么错误竟能让开发环境崩溃了?我只有一个一个project地编译,然后找到失败的project,再一个一个文件地compile。最后发现竟是一个rc文件导致编译环境崩溃。
我打开SVN,然后得到这个文件的最初版本。再打开编译,还是出错。我用的开发环境是vs2008,这个文件的创建环境竟是vs2003。决定用vs2003来编译,编译成功。
我们团队使用的是vs2008,我们不能就为这个文件去使用vs2003。我们决定看看这个文件,争取只修改这个文件而不要去影响整个工程。经过分析发现,这个文件是捷克语言,不是unicode语言。试着把这个文件转成unicode。再次编译。成功。
如果手工地把40种语言全部转换成unicode,这将是一个乏味的工作。但我们是程序员,程序员是懒惰的,由于有了懒惰的动机,所以要用程序来解决这个问题。思路如下:先从文件读出字符串,分析字符串是否是unicode,如果不是。则获取这个文件的编码,然后转换成unicode串。存回文件。