今天遇到一个坑,左右调试坑的我一脸懵逼,当我们对一条字符串进行截取的时候,通常第一个想到的就是substr()函数了,但是如果是中文+数字的字符串的话,这时候使用substr进行截取就会出现乱码的问题,这是因为substr会把中文按照每个汉字三个字节进行截取,故而截取中文的时候并不适用,另外一个方法就是使用mb_substr()或者mb_strcut()函数进行截取,并设置截取后的编码格式为'utf-8',使用这两个函数需要开启php.ini中php_mbstring.dll扩展,将前面的;去掉然后重启php-fpm,

$string = '下城区长浜路968号华盛达雷迪森广场酒店';

我先使用了mb_substr()函数,但是并没有解决我的问题,有的不乱码,有的还是乱码,也不知道网上那些说用这个函数就能解决的有没有遇到这个问题- -!

echo mb_substr($string,0,40,'utf-8');

最后我又用了mb_strcut()函数,它的用法和mb_substr()是一样的,才算解决了这个问题:

mb_strcut($string,0,40,'utf-8');

转载于:https://www.cnblogs.com/52lnamp/p/9139068.html

PHP 截取字符串乱码的解决方案相关推荐

  1. smarty模板截取字符串乱码问题完美解决```````

    每一次遇到问题,都有解决的方法. 当你解决了问题时,会发现原来自己一直在进步```` 学php不久,却喜欢上了这种语言.太完美了. 今天遇到了一个乱码问题,这类问题对于一个smarty模板忠实者来说, ...

  2. Qt显示中文ansi字符串乱码问题解决方案

    最近在写基于FFmpeg & Qt的音乐播放器,发现从文件读进来的string里的中文在TableView里显示不对.问度娘基本上解决方法都是用QTextCodec更换环境编码,好像之后还要多 ...

  3. php utf8 或gbk 截取字符串乱码解决

    <?phpheader("content-type:text/html;charset=utf-8");mb_internal_encoding('utf-8');//设置所 ...

  4. 解决在C#(.net)按字节数截取字符串最后出现乱码的问题

    解决在C#(.net)按字节数截取字符串最后出现乱码的问题 参考文章: (1)解决在C#(.net)按字节数截取字符串最后出现乱码的问题 (2)https://www.cnblogs.com/xion ...

  5. php解析乱码字符串,PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]

    在PHP中,使substr函数截取字符串末位会出现乱码,因为中文UTF-8编码,每个汉字占3字节,而GB2312占2字节,英文占1字节,截取位不准确,造成断开的字符会把其后的..拉过来一起做一个字,所 ...

  6. PHP实现中文字符串截取无乱码

    在我们学习PHP知识的过程中,PHP截取字符串应该是一个非常常见的字符串基础操作了,想必大家都比较熟悉这方面知识点.但是有些新手朋友们可能遇到过,当截取中英文字符串时出现乱码的情况,其实这个也是非常容 ...

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

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

  8. PHP用substr截取字符串出现中文乱码问题用mb_substr

    PHP用substr截取字符串出现中文乱码问题用mb_substr 实例:mb_substr('截取中文乱码问题测试',0,5, 'utf-8'); 语法 : string substr (strin ...

  9. 实现中文字符串截取无乱码的方法

    小伙伴们大家好,使用substr()截取中文字符乱码的问题怎么解决呢? 看下面的方法: 方法一: 使用php内置函数mb_substr():      mb_substr( $str, $start, ...

最新文章

  1. HDU 4407 sum 容斥原理
  2. android怎么监听多点触摸_大尺寸触摸屏厂家定制多点触摸框
  3. python画图-python画图汇总(持续更新)
  4. python mk趋势检验_【C语言】MK趋势检验C语言代码
  5. tcl是华为鸿蒙受益者吗,在三星华为都很成功的杨柘 为什么却栽在了TCL?
  6. A start job is running for Raise network interface(5min 13s )问题解决方法
  7. sybase数据库导出mysql_使用BCP从Sybase远程数据库中导出数据
  8. 港中文用 Zoom 考试,中途遭黑客入侵传播不可描述内容
  9. Google AI 骗过了 Google,工程师竟无计可施?
  10. 电脑切换窗口快捷键_计算机二级常用快捷键
  11. 一般柱子与柱子的距离_建筑中柱子之间的距离多少为好?
  12. Thread 中的 中断
  13. Java语言学习指导与习题解答_Java语言程序设计(第3版)学习指导与习题解析
  14. android MIT App Inventor 2 Beta 中文资料
  15. 多域名HTTPS 证书
  16. 牛客网C++开发面试经验汇总
  17. Java设计-微信小程序线上点餐/外卖项目+后台管理系统
  18. docker创建容器
  19. 腾讯地图输入关键字自动补全的应用及遇到的问题详解
  20. matlab 与eyelink,EyeLink眼动追踪系统

热门文章

  1. 最大字段和---C语言实现
  2. HTML <input> required 属性
  3. Java中如何组装字符串
  4. 汇编语言:编写code段中代码,将a段和b段中的数据依次相加,将结果放到c段
  5. DirectX11 With Windows SDK--12 深度/模板状态、平面镜反射绘制
  6. 【转载】要有梦想-创造卓越的职业生涯
  7. JS调用CS里的方法:PageMethods
  8. LoadRunner常用函数(转)
  9. 手把手教你用Python读取Excel
  10. 什么是PostgreSQL?跟MySQL、Oracle比强在哪?