php 中文字符串截取无乱码,php实现中文字符串无乱码截取
在PHP开发中会经常用到字符串截取,有的时候字符串截取会出现乱码的情况,那么怎么解决这个问题呢,其实也很容易
首先我们要了解关于中英文占多少字节的问题。
ASCII码:一个中文汉字占两个字节的空间。
UTF-8编码:一个中文(含繁体)等于三个字节。
Unicode编码:一个中文(含繁体)等于两个字节。
下面我们就通过几个简单的代码示例为大家详细介绍关于PHP截取中英字符串且无乱码的相关知识。
一、 substr() 截取字符串(是以字节为单位进行截取的)
ehco substr('PHP中文网', 0, 5);
substr()中第一个参数表示要截取的字符串,第二个参数表示从0位置开始截取,第三个参数表示截取长度。
截取“PHP中文网”前5个字节,结果如下:
如图显示乱码,也就是说当我们使用substr函数进行中英文字符串截取时,会出现乱码,为什么呢?因为substr函数截取字符串的单位是字节,在截取中文的时候会有不能完整截取的情况出现,所以会出现乱码的情况。
二、关于mb_substr()截取字符串
echo mb_substr('php中文网', 0, 5);
mb_substr:获取部分字符串。
截取“PHP中文网”前5个字符,结果如下:
如图截取了前五个字符,并且没有出现乱码。
注:mb_substr是根据字符数来执行截取字符串。
三、 mb_strcut() 截取字符串
echo mb_strcut("PHP中文网", 0, 7);
截取“PHP中文网”前7个字节,结果如下:
从图中可以看到,我们要截取7个字节,但是只显示截取了“PHP中”这6个字节。由于一个汉字等于三个字节,那么这里第7个字节就不会显示了。
综上所述,如果大家遇到要截取中文字符串并无乱码的需求时,可以选择后两种方法(mb_substr()和mb_strcut())
php字符串无乱码截取函数封装
/** * * 中英混合字符串长度判断 * @param unknown_type $str * @param unknown_type $charset */ function strLength( ...
php截取中文字符串无乱码的方法
利用php内置方法mb_substr截取中文不乱码,使用起来非常简单 <?php $str = '我喜欢laravel or yii2'; echo mb_substr($str, 0, 1, ...
PHP中文无乱码截取
正在上传文件反正无聊 就把php无乱码截取写出来吧` 参数说明 gbk 字符编码中,存储中文字符要2个字节 uft-8 字符编码中,存储中文字符要3个字节 0xa0 半个汉字 ord()— ...
(实用篇)php中计算中文字符串长度、截取中文字符串的函数代码
在PHP中,我们都知道有专门的mb_substr和mb_strlen函数,可以对中文进行截取和计算长度,但是,由于这些函数并非PHP的核心函数,所以,它们常常有可能没有开启.当然,如果是用的自己的服务 ...
php中计算中文字符串长度、截取中文字符串
在做PHP开发的时候,由于我国的语言环境问题,所以我们常常需要对中文进行处理.在PHP中,我们都知道有专门的mb_substr和mb_strlen函数,可以对中文进行截取和计算长度,但是,由于这些函数 ...
PHP计算中文字符串长度 、截取相应中文字符串
PHP计算字符串长度 及其 截取相应中文字符串 计算字符长度: $gouWu = '美日汇http://www.hnzyxok.com/'; echo mb_strlen($gouWu,' ...
SQL Server 插入含有中文字符串出现乱码现象的解决办法
ELECT COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage') --查询SQLServer编码格式的语句 下面 ...
php截取中文字符串时乱码问题
AD18 PCB中添加中文字符串显示乱码问题解决
该问题是由于字符串的自体类型设置问题,AD默认是[stroke],我们点击[TrueType]即可正常显示.PS:AD18搞啥呢,默认显示输入内容不行吗,找半天!!!
随机推荐
IIS发布站点错误收集(持续更新)
本文主要收集IIS在发布站点过程中遇到的错误,并提供解决办法.并亲测可行.如果您也在使用IIS发布站点的过程中遇到了一些问题,欢迎留言提问. (1.) HTTP错误500.21-Internal Se ...
vs2013单元测试第二部分
上次的随笔说还没弄懂,现在已经弄懂,就让我说说我的方法吧. 1.点击文件——>新建——>项目——>c#——>控制台应用程序,确定,之后如图所示 2.在一定位置写上要进行单元检测 ...
javascript事件有哪些?javascript的监听事件
事件类型: 1.界面事件 onload:描述文档,图片,css已经frame,object加载完毕时触发,window.onload window.onload = function(){ //代表图 ...
Aizu 2306 Rabbit Party DFS
Rabbit Party Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view. ...
Find them, Catch them(POJ 1703 关系并查集)
Find them, Catch them Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 38668 Accepted: ...
ICMP协议Ping命令的应用
ICMP的全称是 Internet Control Message Protocol ,它是TCP/IP协议族的一个子协议,属于网络层协议,用于在IP主机.路由器之间传递控制消息.从技术角度来讲,就是 ...
webstorm基础使用
因为需要用到sass自动编译,从sublime转到了webstorm.现在自我感觉sublime需要的插件太多,而webstorm很多功能都帮你及成,不需要你去找插件和安装插件. webstorm的好 ...
解题:九省联考2018 秘密袭击CoaT
题面 按照*Miracle*的话来说,网上又多了一篇n^3暴力的题解 可能是因为很多猫题虽然很好,但是写正解性价比比较低? 直接做不可做,转化为统计贡献:$O(n)$枚举每个权值,直接统计第k大大于等 ...
cogs 330. [NOI2003] 文本编辑器
★★★ 输入文件:editor2003.in 输出文件:editor2003.out 简单对比 时间限制:2 s 内存限制:128 MB [问题描述] 很久很久以前,DOS3.x的程序 ...
sprintf拼接字符串的问题
] = {}; char a1[] = {'A', 'B', 'C', 'D', 'E', 'F', 'G'}; char a2[] = {'H', 'I', 'J', 'K', 'L', 'M', ...
php 中文字符串截取无乱码,php实现中文字符串无乱码截取相关推荐
- 截取含有中文、Emoji表情、特殊符号的字符串
在码代码时经常会遇到截取字符串的问题,有时候字符串会包含中文.Emoji表情.以及一些特殊符号,这时使用String的substring()进行截取操作,结果就有可能是乱码或者不符合要求.这是因为JV ...
- 在一个JS文件中包含中文字符串,通过innerHTML输出后中文乱码?
在一个JS文件中包含中文字符串,通过innerHTML输出后中文乱码? Posted on 2008-07-13 12:00 尹合磊 阅读(1902) 评论(0) 编辑 收藏 所属分类: ASP.N ...
- php substr_replace 中文乱码,php substr_replace替换字符串一些实例_PHP教程
substr_replace与str_replace有一点像就是直接把字符串替换一部份了,下面小编来给各位同学介绍一下 操作方法. substr_replace() 函数把字符串的一部分替换为另一个字 ...
- spring字符串判空_字符串工具类StringUtils实现字符串是否中文、字符串分割/判空/替换/查找、是否包含乱码及字符串数组合并等常规操作...
一.前言 关于字符串工具类StringUtils实现字符串是否包含isChinese中文.是否包含isMessyCode乱码.常规数据类型转换.替换/删除/判空.两字符串数组mergeStringAr ...
- Lua截取utf-8编码的中英文混合字符串
参考博客:UTF8字符串在lua的截取和字数统计[转载] 需求 按字面个数来截取子字符串 函数(字符串, 开始位置, 截取长度)utf8sub("你好1世界哈哈",2,5) = 好 ...
- mfc 中文乱码转换为正常中文_中文编码转换
中文编码转换--6种编码30个方向的转换 1.问题提出 在学编程序时,曾经有人问过"你可以编一个记事本程序吗?"当时很不屑一顾,但是随着学习MFC的深入,了解到记事本程序也并非易事 ...
- mysql存储过程中文乱码_mysql存储过程中文乱码
MySQL 中存储过程 中文乱码问号??? mysql 中文乱码一直是一个老大难的问题,接下来一一解决!!!! 数据库存储数据乱码 存储过程中数据乱码 001 数据库存储数据乱码 相信大家遇到最多就是 ...
- python中字符串切片取奇数_Python中的字符串切片(截取字符串)的详解
Python中的字符串切片(截取字符串)的详解 字符串索引示意图 字符串切片也就是截取字符串,取子串 Python中字符串切片方法 字符串[开始索引:结束索引:步长] 切取字符串为开始索引到结束索引- ...
- java根据一个 号截取_java截取最后一个号前的字符串
java截取最后一个号前的字符串 [2021-01-31 02:35:59] 简介: php中文字符串截取乱码的解决办法:首先创建一个PHP示例文件:然后定义一个"utf_substr&q ...
最新文章
- 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 调试进程 ATTACH 附着目标进程 | 读取目标函数寄存器值并存档 )
- ANSYS Products 19.1 安装教程
- 使用 wxImage 为 OpenGL 加载纹理
- postgresql 基本语法
- Java动态代理的两种实现方法
- SAP ABAP SE16 and SE17
- android emmc 命令,使用CoreELEC的ceemmc工具将系统写入emmc
- Python第十二章-多进程和多线程01-多进程
- 春秋时期被误解的人才。
- linux音乐关机,在Deepin操作系统中关闭或者更改开机关机音乐的方法
- 创建第一个Scrapy项目
- 《逻辑说服力》— 综合素质提升书籍
- python金融股票市场数据分析神器TA-Lib学习使用
- 干货 | 100大产业链全景图
- 新型单词记忆法汇总(沪江英语):
- 字节跳动技术团队年度 TOP10 技术干货,陪你度过不平凡的 2020
- 导出chrome扩展插件,crx文件
- 还在为乱七八糟的桌面而忧桑吗
- iOS二维码扫描/识别
- VBA中数组72变(随心所欲复制)