转载:http://yleesun.blog.163.com/blog/static/294134022012793594255/
解决向Linux移植时代码中中文乱码的方法 ( null character(s) ignored )
在向linux移植过程中,肯定会遇到已有代码中的中文在linux下显示乱码的问题。下面是一种解决方法:
1.在windows上把代码修改成unicode编码。可以通过记事本打开该文件,再另存为unicode编码。如果文件比较多,可以借助批量修改文件编码工具进行修改。网上有此类小工具。
2.在linux打开修改编码后的文件,中文显示正常,无乱码。此时如果编译的话,会出现以下警告和错误:
plugintemplate/libs/lib_profiling.h:221:81: error: null character(s) ignored
plugintemplate/libs/lib_profiling.h:221:83: error: null character(s) ignoredplugintemplate/libs/lib_profiling.h:221:85: error: null character(s) ignored
plugintemplate/libs/lib_profiling.h:221:87: error: null character(s) ignored
In file included from plugintemplate/includes/sufcommun.h:21,
from plugintemplate/includes/default.h:51, from serverplugin_main.cpp:10:
plugintemplate/libs/lib_profiling.h:149: error: expected unqualified-id before ‘/’ token
plugintemplate/libs/lib_profiling.h:221: error: ‘e’ does not name a type
导致此问题的原因并非代码错误。是修改文件编码导致。可以通过以下方法解决:
新建一个空文档,再打开该文件,把该文件内容拷贝到新建的文档内。并命名该新建文档为该文件。即用一个新建到文档替换掉该文档。