昨天晚上和今天上午看了字符编码的问题,还有一些别人截取字符串的函数,自己也写了一个,兼容utf-8和gb2312的

//截取字符串长度。支持utf-8和gb2312编码。若为gb2312,先将其转为utf-8,在utf-8的基础上截取然后再转换回来 function cut_string($str,$from=1,$length=10,$code='utf-8',$rear='...'){ if($code!='utf-8'){//总是将字符串转为utf-8编码 $str=iconv($code,'utf-8',$str); } $str_len=mb_strlen($str,'utf-8');//字符串的长度 if($from>$str_len){//如果截取开始位置大于字符串长度,截取后面$length个 $from=$str_len-$length+1; $from=($from<1?1:$from); } //兼容ucs-4编码 $i=0;//字节计数 $from_i=0;//开始截取的字节位置 $from_len=0;//开始截取的字符位置 $tag=true;//标志$from_len是否已经被赋值 for($temp_len=0;($temp_len-$from_len=0&&$byte_code<128){//字符是占用几个字节,utf-8是变长编码,根据每个字符的第一个字节可判断出该字符占几个字节 $i++; } if($byte_code>191&&$byte_code<224){ $i+=2; } if($byte_code>223&&$byte_code<240){ $i+=3; } if($byte_code>239&&$byte_code<248){ $i+=4; } if($byte_code>248&&$byte_code<252){ $i+=5; } if($byte_code>252&&$byte_code<255){ $i+=6; } } return iconv('utf-8',$code,substr($str,$from_i,$i-$from_i).$rear); }

php兼容编码,PHP截取字符串编码(兼容utf-8和gb2312)相关推荐

  1. python 输出字符串编码_Python print 字符串编码问题

    又一次, 被Python的编码问题搞得焦头烂额. 过去的记忆中, Python给我的印象之一就是让人痛不欲生的编码问题, 后来基本不碰Python很可能与此有关. 这次又用到Python了, 基本上, ...

  2. python声明编码为gbk_Python字符串编码坑彻底详细解决

    来源:实习僧 作者:实习僧的何梁 真正完全搞清楚Python的编码问题 我想大家经常被Python的编码问题搞的晕头转向,下面我一头来自实习僧的牛,为您详细解析这个天坑: 请看图: 1.python中 ...

  3. js截取字符串兼容中英文

    js截取字符串兼容中英文 /** * js截取字符串,中英文都能用 * @param str:需要截取的字符串 * @param len: 需要截取的长度 */ cutstr(str, len) { ...

  4. Java笔记-字符串编码与解码以及编码表原理

    编码表 编码表:是一张由字符及其对应编码的表 计算机只能识别二进制数据,早期由电信号演化而来. 为了方便使用计算机,让它可以识别各个国家的文字,就将各个国家的文字用数字来表示,并一一对应,形成一张编码 ...

  5. php 字符串编码方式转换,PHP 字符串编码的转换

    GBK 和 UTF-8 编码的转换是一个非常恶心的事情,比如像 PHP 中的 json_encode 本身根本不支持 GBK 形式的编码.有两个库函数能够支持编码的转换,通常能够想到的就是 iconv ...

  6. python转换字符编码_Python常见字符编码间的转换

    学习Python,字符编码间的转换是绕不过去的一只拦路虎,不把编码彻底搞明白,总有一天它会猝不及防坑你一把. Python2.x和Python3.x在字符编码的设置上也有很大区别(Python3未来将 ...

  7. CSS截取字符串,兼容浏览器

    今天在经典论坛看到有同学问到CSS截取字符多余省略号代替的求助且要兼容FF... 这个的确是个比较头痛的问题,现在我在的公司都是程序截取显示省略符的.兼容是没问题,但在中文和数学或字母混排时,就会有点 ...

  8. php截取字符串后编码不对,php截取字符串出现中文乱码问题的解决

    在之前的文章中我们给大家接好了php截取字符串的实现,以及php截取中文字符串的使用,那么我们在截取中文字符串的时候,很多时候都会出现乱码的问题,那么我们今天就给大家介绍php截取字符串出现中文乱码问 ...

  9. ***PHP各种编码的汉字字符串截取

    虽然PHP有现成的截取字符串函数substr(),但是这个函数不能对汉字字符串进行截取,要实现这种效果还需要我们自己去编写相应的函数.汉字有多种编码,比如GB2312,UTF-8等,汉字字符串的截取需 ...

最新文章

  1. android Android项目构建过程
  2. 《网易编程题》计算糖果
  3. 大话数据结构学习笔记一:第一章
  4. Codeforces Round #703 (Div. 2) B.Eastern Exhibition 中位数结论
  5. python 单例模式的四种实现方法
  6. 执行流程 | 你真的了解Spring AOP的执行顺序吗?
  7. 各国网络安全审查制度及案例分析
  8. vue.js ElementUI /java 笔记
  9. 代理模式实例与解析--实例一:论坛权限控制代理
  10. 华氏温度转摄氏温度c语言作业,C语言摄氏度互相转换华氏
  11. react hooks子给父传值
  12. web开发第三方登陆之微信登陆
  13. 计算机表格如何求和,excel表格怎么求和? excel自动求和的三种方法
  14. 教你写Makefile
  15. 【转】推荐系统入门实践:世纪佳缘会员推荐(完整版)
  16. Ubuntu16.04下,遇到Unmet dependencies. Try 'apt-get -f install' with no packages的解决办法
  17. vsCode 源代码管理插件GitLens使用指南
  18. 从冷战到深度学习:一篇图文并茂的机器翻译史
  19. 目标分割:Mask RCNN
  20. 【虹科案例】智能工控屏eX707在水下遥控机器人中的应用

热门文章

  1. leetcode 438. Find All Anagrams in a String | 438. 找到字符串中所有字母异位词(Java)
  2. Redis实战(一):Redis一键安装脚本,Redis 介绍及 NIO 原理介绍
  3. Linux运行脚本忽略警告,ShellCheck - 显示Shell脚本的警告和建议的工具
  4. pdo插入mysql数据出错_php中通过pdo插入数据时,sql语句错误?
  5. 1039 Course List for Student (25 分)_33行代码AC
  6. Python中os库的使用
  7. java 实现 tcp_java实现TCP通信
  8. lunix mysql 8小时_MySQL 8.0 首个自适应参数横空出世
  9. 为进阶Linux大佬打牢地基
  10. BGP小实验(二)——还是他,继续第二波走起来