广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >如何解决PHP+trim乱码问题
  • 776
分享到

如何解决PHP+trim乱码问题

trimPHP 2016-12-10 01:12:03 776人浏览 绘本
摘要

本文操作环境:windows7系统,PHP7.4版,Dell G3电脑。如何解决PHP+trim乱码问题?PHP的Trim截取乱码一直使用Trim过滤首尾两端的字符串,关于Trim的官方描述:trim — 去除字符串首尾处的空白字符(或者其

本文操作环境:windows7系统,PHP7.4版,Dell G3电脑。

如何解决PHP+trim乱码问题?

PHP的Trim截取乱码

一直使用Trim过滤首尾两端的字符串,关于Trim的官方描述:

trim — 去除字符串首尾处的空白字符(或者其他字符)

今天发现一个很奇怪的问题, 代码如下:

<?php
$str = '研发、产品、';
echo trim($str, '、');

猜下这个会返回什么?“研发、产品”?NO,这个居然很奇怪的返回了“研发、产��”。

难道是我的打开方式不对,怎么会返回乱码呢。

经过一番测试,发现一个很有趣的问题。

<?php
echo trim('abacabb', 'ab');   //print 'c'

原本以为这个会返回acabb的,但是居然只返回了c。这就是对trim函数的误解了。

其实这个在官方说明文档的Example是有的,只是我没注意看而已。

trim会循环去掉字符串首位存在的字符。如上面的例子,则执行过程如下:

字符串abacabb会从下标0开始循环,如果存在ab中的字符就去掉,一直到没有就停止循环。

所以执行为:

  • 循环a存在字符串ab中,去掉,剩下bacabb

  • 循环b存在字符串ab中,去掉,剩下acabb

  • 循环a存在字符串ab中,去掉,剩下cabb

  • 循环c不存在字符串ab中,停止循环,所以去掉首字符就剩下:cabb。

但是trim是过滤首尾字符,所以还会从末尾循环去掉。

  • 循环b存在字符串ab中,去掉,剩下cab,

  • 循环b存在字符串ab中,去掉,剩下ca,

  • 循环a存在字符串ab中,去掉,剩下c,

  • 循环c不存在字符串ab中,停止循环,所以去掉末端字符就剩下:c。

所以整个结束后,abacabb就剩下了c了。看到这里对trim函数有所了解了吧。

好了,说回乱码的问题,为什么会出现返回乱码的情况呢。

这是因为在PHP中,字符串函数默认都不是 multibyte-safe 的。如果需要 multibyte-safe 则需要使用mb_系列的函数。

“、”的十六进制码为0xe3 0x80 0x81,对于不是 multibyte-safe 的函数会把它当做三个字符。

而“品”的十六进制码为0xe5 0x93 0x81。这里最后一个0x81刚好符合了,被过滤了。所以才会导致出现乱码的情况。

ok,问题找到了,trim没有mb函数,但是我们可以自己封装一个。Function mb_trim。

PS:用了trim好久了,但是一直没有真正了解。看官方文档还是很重要的。

--结束END--

本文标题: 如何解决PHP+trim乱码问题

本文链接: https://www.lsjlt.com/news/887.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何解决PHP+trim乱码问题
    本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。如何解决PHP+trim乱码问题?PHP的Trim截取乱码一直使用Trim过滤首尾两端的字符串,关于Trim的官方描述:trim — 去除字符串首尾处的空白字符(或者其...
    99+
    2016-12-10
    trim PHP
  • 怎么解决PHP+trim乱码问题
    本篇内容主要讲解“怎么解决PHP+trim乱码问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决PHP+trim乱码问题”吧!PHP trim乱码是因为在PHP中字符串函数默认都不是mu...
    99+
    2023-06-22
  • php如何解决乱码问题
    这篇文章主要讲解了“php如何解决乱码问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何解决乱码问题”吧!什么是乱码在网页开发中,乱码是指在浏览器中显示的字符集和实际编码不一致,导...
    99+
    2023-07-05
  • 如何解决php get 乱码问题
    本文操作环境:Windows7系统,PHP7.1版,Dell G3电脑。如何解决php get 乱码问题??PHP接收GET中文参数乱码的原因及解决方案方案1:$str = iconv("gb2312",&qu...
    99+
    2017-01-18
    php get
  • 如何解决hbuild php乱码问题
    本文操作环境:Windows7系统、HBuilderX 3.1.13版、Dell G3电脑。打开HBuilder这个软件,要保证正常运行HBuilder。检查没有其他错误,比如插件问题,自动闪退等等现象。在正常运行情况下,新建一个html文...
    99+
    2019-11-28
    hbuild
  • 如何解决php exec乱码问题
    本文操作环境:windows7系统、PHP7.1版、DELL G3电脑如何解决php exec乱码问题php 填坑exec或shell_exec无法返回中文乱码情况原本想执行:exec("python cmd.py",$...
    99+
    2015-12-28
    php exec
  • 如何解决php opendir乱码问题
    本文操作环境:windows7系统、PHP7.1版、DELL G3电脑如何解决php opendir乱码问题php读取中文目录乱码的解决办法前不久有个项目涉及到使用 php 读取文件目录,读取文件目录这个本身没什么问题,但读取的时候遇到中文...
    99+
    2017-12-24
    php opendir
  • 如何解决php 5.5乱码问题
    本文操作环境:Windows7系统、php5.5版、DELL G3电脑如何解决php 5.5乱码问题?保证各个地方保证同一种编码,假如都是utf-8html5页面:<meta charset='utf-8'>2、...
    99+
    2015-03-24
    php 5.5
  • 如何解决php readdir 乱码问题
    本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑如何解决php readdir 乱码问题?具体问题:PHP 使用 opendir readdir 中文文件乱码<php //打开 images 目录 $handle...
    99+
    2019-07-25
    php readdir
  • php glob 乱码问题如何解决
    本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑php glob 中文乱码如何处理?<php print_r(glob("*.txt")); >可是当根目录下的 文件名是中文的就会出现输...
    99+
    2014-12-29
    php glob glob
  • 如何解决php imagecreate乱码问题
    本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑如何解决php imagecreate乱码问题?PHP创建图像时成为乱码的解决方法(GD)有问题的代码:<!DOCTYPE html PUBLIC "-/...
    99+
    2016-01-09
    php imagecreate
  • 如何解决php admin乱码问题
    本文操作环境:windows7系统、phpmyadmin4.9.2版、DELL G3电脑如何解决phpmyadmin乱码问题mysql phpmyadmin乱码解决最近参加比赛做的项目里面,后台需要交互,更新个性签名时出现乱码。查看数据库编...
    99+
    2018-09-14
    php admin
  • 如何解决android php乱码问题
    本篇内容主要讲解“如何解决android php乱码问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决android php乱码问题”吧!android php乱码的解决办法:1、填写对...
    99+
    2023-06-20
  • 如何解决php insert mysql乱码问题
    本文操作环境:Windows7系统,PHP7.1版,Dell G3电脑。如何解决php insert mysql乱码问题?php插入到mysql数据库中文乱码问题解决今天重装了系统重新安装了PHP的运行环境,也没注意太多,想写点东西复习复习...
    99+
    2021-03-12
    php insert
  • 如何解决PHP部分乱码问题
    乱码是在Web开发过程中常见的问题之一,特别是在PHP编程中。如果您在PHP页面上看到了乱码,您可以采取一些方法来解决这个问题,这篇文章会详细介绍如何解决PHP部分乱码问题。什么是乱码?乱码是指在HTTP请求和响应中传递的数据中包含了无法被...
    99+
    2023-05-14
    php 乱码
  • php如何解决中文乱码问题
    小编给大家分享一下php如何解决中文乱码问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php解决中文乱码的方法:1、在head标签里面加入UTF8编码;2、在...
    99+
    2023-06-07
  • 如何解决php pdo mysql 乱码问题
    本篇内容主要讲解“如何解决php pdo mysql 乱码问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决php pdo mysql 乱码问题”吧!php pdo mysql乱码的解决...
    99+
    2023-06-20
  • sublime中php乱码问题如何解决
    本文小编为大家详细介绍“sublime中php乱码问题如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“sublime中php乱码问题如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。问题描述在编辑 P...
    99+
    2023-07-05
  • 如何解决php查询sql乱码问题
    本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。如何解决php查询sql乱码问题?PHP SQL查询结果在页面上是乱码?今天系统网页出现这样一个问题:下图左边类型栏数据是没显示出来打印SQL查询的数据是有的 原因是:...
    99+
    2016-10-12
    php sql 乱码
  • 如何解决windows php输出乱码问题
    本文操作环境:Windows7系统、PHP7.1版、Dell G3电脑。如何解决windows php输出乱码问题?PHP在Windows窗口下的中文输出乱码问题解决:按以下方法即可PHP文件本身是 UTF-8;CMD窗口 在标题处右键选择...
    99+
    2019-05-29
    windows php 乱码
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作