关于使用中文分词工具ICTCLAS2013 Java版本乱码的问题
来源:互联网 发布:php mysql事务处理 编辑:程序博客网 时间:2024/06/04 19:34
中文分词工具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的了。
- 关于使用中文分词工具ICTCLAS2013 Java版本乱码的问题
- 关于使用中文分词工具ICTCLAS2013 Java版本乱码的问题
- ICTCLAS2013(NLPIR汉语分词系统) Java版本的使用方法
- ICTCLAS2013 Java版本的使用方法
- ICTCLAS2013 Java版本的配置
- NLP的两种工具的java版使用:复旦FudanNLP,中科院计算所ICTCLAS2013
- Java中文分词工具AnsjSeg使用
- Java中文分词工具AnsjSeg使用
- 关于Java Web中文乱码的问题
- 使用NLPIR汉语分词工具进行中文分词(java语言)
- 中科院中文分词在java中调用详解(ICTCLAS2013版)
- 中文分词工具的初步使用图解
- 基于java的中文分词工具ANSJ
- 关于java中文乱码问题
- 关于Java中文乱码问题
- Java关于中文乱码问题
- 关于中文乱码的问题
- 关于中文乱码的问题
- 01--初识java及我的第一个小程序
- cocos2d-x节点(CCActionPageTurn3D)API
- Android ANR 分析解决方法
- 结合例子理解排他(exclusive)锁和共享(shared)锁
- 为什么可以把未提交的数据写入数据文件?——通过DML操作举例解析
- 关于使用中文分词工具ICTCLAS2013 Java版本乱码的问题
- 网络攻防学习笔记
- GDB常用调试命令
- find&grep查找工具
- C++显示类型转换
- JSP用户安全退出【清除浏览器缓存中页面】
- 守护进程的创建方法和步骤
- cocos2d-x节点(CCActionProgressTimer.h)API
- opencv学习-imgprocess-霍夫变换