关于使用中文分词工具ICTCLAS2013 Java版本乱码的问题
2013-11-15 22:20
423 查看
中文分词工具ICTCLAS2013Java版本的使用什么的我就不罗嗦了,不知道怎么使用的点这里点击打开链接。
我的eclispe的text file encoding是GBK的。这个也就不废话了。
运行一下,控制台输出一堆乱码的东西:
图1. 直接运行后控制台输出乱码。
为什么会这个样子呢?看看工具发布主页的FAQ中的一个问题:
图2. FAQ中一个关于编码的问题。
根据图2中的这个回答,我将TestNLPIR.java中的33行试着修改一下:
if (testNLPIR.NLPIR_Init(argu.getBytes("GB2312"),1) == false) ==> if (testNLPIR.NLPIR_Init(argu.getBytes("GB2312"),0) == false)
现在控制台输出OK了。
图3. 修改代码第33行后控制台的输出
看看./test/test_result1.TXT ./test/test_result2.TXT文件,同样编输出正确,并且是gbk的格式。
总结: 看看NLPIR.java中的public static native boolean NLPIR_Init(byte[] sDataPath,int encoding),这函数第二个参数就是编码设置。
Java编程环境是gbk,那么这个Init参数设置应该是0,对应就是gbk编码,后面一些字符编码什么的统统都设置成为GB2312。(比如 nativeStr = new String(nativeBytes, 0, nativeBytes.length, "GB2312"))。保持编程环境编码,Init参数,输出字符编码统一就OK的了。
我的eclispe的text file encoding是GBK的。这个也就不废话了。
运行一下,控制台输出一堆乱码的东西:
图1. 直接运行后控制台输出乱码。
为什么会这个样子呢?看看工具发布主页的FAQ中的一个问题:
图2. FAQ中一个关于编码的问题。
根据图2中的这个回答,我将TestNLPIR.java中的33行试着修改一下:
if (testNLPIR.NLPIR_Init(argu.getBytes("GB2312"),1) == false) ==> if (testNLPIR.NLPIR_Init(argu.getBytes("GB2312"),0) == false)
现在控制台输出OK了。
图3. 修改代码第33行后控制台的输出
看看./test/test_result1.TXT ./test/test_result2.TXT文件,同样编输出正确,并且是gbk的格式。
总结: 看看NLPIR.java中的public static native boolean NLPIR_Init(byte[] sDataPath,int encoding),这函数第二个参数就是编码设置。
Java编程环境是gbk,那么这个Init参数设置应该是0,对应就是gbk编码,后面一些字符编码什么的统统都设置成为GB2312。(比如 nativeStr = new String(nativeBytes, 0, nativeBytes.length, "GB2312"))。保持编程环境编码,Init参数,输出字符编码统一就OK的了。
相关文章推荐
- 关于使用中文分词工具ICTCLAS2013 Java版本乱码的问题
- 关于QT5.4+VS2010\VS2013使用过程中,中文乱码的问题
- ASP.NET Core2.0 使用VSCode 版本1.13.1工具 开发控制台运行出现中文乱码问题及解决方法
- 关于使用java自带ZipOutputStream压缩文件名为中文的乱码问题
- 使用ICTCLAS JAVA版(ictclas4j)进行中文分词
- JAVA关于中文乱码问题的解决方案与经验
- Java 关于中文乱码问题的解决方案与经验
- 关于使用Session/Cookie存中文乱码造成的问题解决方案
- 解决Java读取properties文件的中文问题的新办法(不使用native2ascii.exe及其他工具)
- Java 关于中文乱码问题的解决方案与经验 (1)
- 关于使用ZXing扫描二维码出现中文乱码的问题
- 【JAVA】使用jacob生成的html,关于文字乱码处理,图片无法显示等问题。
- Java关于中文乱码问题的解决方案与经验
- 关于java中文乱码问题,我有话要说。
- 关于android 使用Scoket通信中文乱码问题的解决
- 关于使用Mysql(SqlYog)中文乱码的问题
- Java中使用FileputStream导致中文乱码问题的修改方案
- 关于使用ZXing扫描二维码出现中文乱码的问题
- 关于使用Ajax传中文数据到后台接受乱码问题 data:{"dictype":"客户信誉度"}
- 关于使用 ASIHTTPRequest URL中文参数乱码问题