问题
作者在做CRF++在windows和linux下分词实验时遇到一个问题:明明文件编码格式都是utf-8,但是linux下的实验进行到测试时得到的测试分词输出文件格式有误。
错误示例:
正确显示应该为:
我们知道,代码思路,crf_learn,crf_test,libcrfpp.dll,template这些要用到的东西在windows和linux下都是一样的,那么我猜测就是还是编码问题。
解决方法
在Notepad++中可以看到都是UTF-8但是适用于不同系统,windows和Unix(Linux)。这里Notepad++可以右键windows处选择不同系统,完成转换。再用转换后的文件去做接下来的实验就没有问题了。
windows下的文件:
linux下的文件:
window(CR LF)和Unix(LF)的差别就是换行符的差别,但在不同系统中可能会出现各种错误。
总结
在不同系统,转换为不同系统的编码,同时注意一些差别,配置好后再运行就没有问题了