热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

织梦中文分词输入的词语返回乱码怎么处理

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

------解决方案--------------------
if($n>0xA13F && $n < 0xAA40) 是全角符号

他用的是 gbk 字符集,如果你不是的,那一定会乱码的
------解决方案--------------------
他首先用 ReviseString 方法对传入串做预处理
其中有
        //如果中文字符
        if(isset($str[$i+1])){
          $c = $str[$i].$str[$i+1];
就是说他认为一个中文是由两个字节组成的,这是 gbk 的编码规则
而一个非 ascii 的 utf-8 字符可以是 2个、3个、4个...字节组成
汉字的 utf-8 多由 3 个字节组成

你只把文件内容改为 utf-8 的,没有改变处理规则
出现乱码不就是很正常的了吗?
------解决方案--------------------
调用前将 utf-8 转成 gbk 的
调用后在把 贵宾卡 转成 utf-8 的
这样就不需要研究算法了
推荐阅读
author-avatar
卡农的信仰144
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有