织梦的中文分词 ,词库中明明有烦恼 ,忧愁这样的词语 ,但是测试输入 ,返回乱码 ,不知道是怎么回事   ,还有这样的代码  else if($n>0xA13F && $n < 0xAA40) , 其中 0xA13F ,0xAA40 是怎么来的 。php中文分词,织梦中文分词

解决方案 »

  1.   

    if($n>0xA13F && $n < 0xAA40) 是全角符号他用的是 gbk 字符集,如果你不是的,那一定会乱码的
      

  2.   

    真的非常谢谢 ,但是应用的类 我都用编辑器存为utf-8 的格式了  ,输入的有些词语,就不会显示乱码啊 ,上面乱码的是经过分词后的词语 ,下面这一排是没有分词的原文,都没有显示乱码啊
      

  3.   

    他首先用 ReviseString 方法对传入串做预处理
    其中有
            //如果中文字符
            if(isset($str[$i+1])){
              $c = $str[$i].$str[$i+1];
    就是说他认为一个中文是由两个字节组成的,这是 gbk 的编码规则
    而一个非 ascii 的 utf-8 字符可以是 2个、3个、4个...字节组成
    汉字的 utf-8 多由 3 个字节组成你只把文件内容改为 utf-8 的,没有改变处理规则
    出现乱码不就是很正常的了吗?
      

  4.   

    调用前将 utf-8 转成 gbk 的
    调用后在把 贵宾卡 转成 utf-8 的
    这样就不需要研究算法了