php 字符串比较txt,PHP读到txt中文字符串比较失败

最近开始做PHP。今天从txt文件中读取一个中文字符串,跟一个字符串作比较,老是匹配失败,开始以为是编码问题,因为我的PHP文件编码是utf-8,遂将txt文件的编码也改成utf-8,好,噩梦来了...

我将读到的字符串原样输出,完全没有问题,跟预期的一模一样,可是一做字符串比较就比较失败。我读到的字符串是$str = '帐号',但是当我做if($str == '帐号')的时候返回的总是false。

于是我尝试将读到的字符串长度用mb_strlen($str, ‘utf-8’)打出来,神奇啊!我明明输入的是两个字符,可打出来居然有3个字符!我左看右看上看下看就是找不到多出来的字符。。。

然后我用$str = str_replace('帐号', '', $str);再将$str打出来,结果为空,但所占的字符长度却是1,完全不知道这个是什么

最后我用echo urlencode($str);打出来,罪魁祸首出现了!得到的值是%EF%BB%BF!这到底是个什么东东?百度之...

原来,这是BOM(Byte Order Mark),是UTF编码方案里用于标识编码的标准标记微软在自己的UTF-8格式的文本文件之前加上了EF BB BF三个字节, windows上面的notepad等程序就是根据这三个字节来确定一个文本文件是ASCII的还是UTF-8的, 然而这个只是微软暗自作的标记, 其它平台上并没有对UTF-8文本文件做个这样的标记。

于是乎,将原来的$str做一个替换,$str = str_replace(urldecode('%EF%BB%BF'), '', $str);搞定!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/502201.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

箭头函数的this指向谁_高阶函数

NodeJS 系列文章,本篇是第一篇,首先,预计将后续高频使用逻辑串一遍,依次是高阶函数,promise以及事件机制。本篇主要是高阶函数。call、bind、applycall、apply 都是改变 this 指向,区别是接受参数的方式不一…

php怎么加编码,php怎么设置编码格式

php设置编码格式的方法:首先在php脚本中添加【header(“Content-Type: text/html; charsetutf-8")】;然后在静态页面设置编码;最后保证所有文件的编码相同即可。如果要使用gb2312编码,那么php要输出头:(推荐教程&…

java 中文 音序,java 中文字符串数组按照音序排列

java 中文字符串数组按照音序排列复制代码 代码如下:public class SortComparator implements Comparator{public int compare(Object o1,Object o2) {try{byte[] buf1 ((String) o1).getBytes("unicode");byte[] buf2 ((String) o2).getBytes("unicode"…

matlab1 3倍频程,瞬时声压时域数据怎么用matlab进行1/3倍频程声压级分析

%A计权声压级频谱分析clc;clear;close all;%时域分析ywavread(abc.wav);%频域分析fs51200;%采样频率p02e-5;%参考声压f[1.00 1.25 1.600 2.00 2.50 3.15 4.00 5.00 6.30 8.0]; %基准中心频率f1[20.00 25.0 31.5 40.0 50.0 63.0 80];fc[f1,100*f,1000*f,10000*f]; %%%%%%%%%中心…

python paramiko长连接_【Python】 SSH连接的paramiko

paramiko*paramiko需要PyCrypto模块的支持paramiko支持通过SSH协议进行一些操作,比如远程执行命令,上下传文件等等用法:①  远程命令ssh paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())#指定当对方主机没…

php 共享内存列队,php中对共享内存,消息队列的操作

消息队列中的数据同样受到大小的约束,具体约束范围可通过msg_stat_queue的msg_qbytes看到。这段代码唯一有点小改动的地方就在接受消息时,指定了MSG_IPC_NOWAIT,不然如果目标队列没有数据,默认会一直等待。 一般会用到共享内存或消…

python文件路径拼接多出斜杠_浅谈python中拼接路径os.path.join斜杠的问题

浅谈python中拼接路径os.path.join斜杠的问题调试程序的过程中,发现通过os.path.join拼接的路径出现了反斜杠directory1/opt/apps/upgradePackagedirectory2icp_v1.8.0directory3os.path.join(directory1,directory2)print(directory3 : %s %directory3)执行结果dir…

matlab约当消去法,Gauss消去法解线性方程组(Matlab)

clear;clc;% Gauss消去法解线性方程组A[3 -5 6 4 -2 -3 8;1 1 -9 15 1 -9 2;2 -1 7 5 -1 6 11;-1 1 3 2 7 -1 -2;4 3 1 -7 2 1 1;2 9 -8 11 -1 -4 -1;7 2 -1 2 7 -1 9];%系数矩阵b[11 2 29 9 5 8 25];%n维向量yinv(A)*b %matlab的计算结果nlength(b);%方程个数nxzeros(n,1);%…

动感灯箱制作流程培训_广告立体灯箱的特点有哪些?

随着广告业的发展,灯箱广告行业也在突飞猛进。在灯箱广告屏的设计与制作中,为了追求真实感和艺术性,采用彩印或摄影喷绘;也有人用特种纸、塑料板(膜)、灯箱布等进行丝网印刷制作灯箱图片,并根据成本和耐候性要求选择制作方法和灯箱…

MATLAB仿真TSC在哪里找,-bash:tsc:找不到命令

我正在使用MAC并尝试安装TypeScript . 我使用安装打字稿sudo npm install -g typescript以下是结果Password:/Users//node/bin/tsc -> /Users//node/lib/node_modules/typescript/bin/tsc/Users//node/bin/tsserver -> /Users//node/lib/node_modules/typescript/bin/tss…

supervisor 重启_supervisor_twiddler的使用

点击上方蓝字关注【 北邮郭大宝 】Supervisor可以很好的实现Python的进程管理,但是新增进程时需要配置文件,对于需要动态创建进程的场景不是很友好,supervisor_twiddler插件可以帮助实现上述功能。本文就supervisor_twiddler的使用做简单的de…

matlab的词云,Word Cloud (词云) - JavaScript

在上一篇中已经分享了用 Python 创建词云了。接下来继续总结其他创建词云的方法。&带道术用量确示常构端析以要效开的用,近不gt;> Create Word Cloud via JavaScrip要圈器是天的年编功小还久概据含直这请框结业未商屏页屏随会维气大机域页效实一应控高标tJav…

python数据分析的步骤排序_Python数据分析

一.数据分析步骤1.提出问题2.理解数据3.数据清洗4.构建模型5.数据可视化二.朝阳医院2018年销售数据数据导入在文件路径前加r(转义符)文件可能有多个sheet,所以用sheet_name重命名参数dtypestr同意先按照字符串读入,之后再转换salesDf.head(),…

archlinux php mysql,arch linux上安装 httpd+php+mysql+ openssl(转)

arch linux上安装 httpdphpmysql openssl(转)[more]在arch linux安装则是非常的容易,只要执行:# pacman -Sy apache php mysql openssl根据提示选择输入Y即可安装!1.修改apache配置文件默认的情况,apache是不支持PHP的&#xff0c…

ai人工智能python开发_Python才是人工智能AI的首选编程语言,你值得拥有……

在所有编程语言里,Python并不算萌新,从1991年发布第一个版本,至今已经快30年了。最近几年,随着人工智能概念的火爆,Python迅速升温,成为众多AI从业者的首选语言。根据数据平台 Kaggle发布的2017年机器学习及…

php bind_param,php – 在mysqli bind_param中绑定动态变量

当我尝试下面的代码时,它会给我一个警告mysqli_stmt::bind_param(): Number of elements in type definition string doesnt match number of bind variables$stmt $mysqli->prepare(SELECT * FROM users WHERE lname ? AND fname ?);$type "ss";$param ar…

unique函数_unique函数使用场景(一)

unique函数使用场景(一)前情提示:Microsoft 365(就是原来的office 365)已经推出有一段时间了,去年年审就在项目上使用365更新的一系列动态函数来提高审计效率(大胆一点,就是更好的偷懒)。讲解动态函数的文章不多,且365普及度低&am…

php属性未定义,PHP-警告-未定义的属性:stdClass-修复?

我在错误日志中收到此警告,并想知道如何在代码中更正此问题。警告:PHP注意:未定义属性:stdClass :: $ records在440行的script.php中一些代码:// Parse object to get account ids// The response doesnt have the rec…

python做数据和大数据区别_不懂Python,不懂大数据的人,和咸鱼有什么区别?

原标题:不懂Python,不懂大数据的人,和咸鱼有什么区别?在这个处处充斥着大数据影响的时代之下,不懂Python,不懂大数据,你就可能轻易地错过身边的黄金。我们生活在数据密布的环境中,就…

c++gdal如何在大图像中截取小图像并获取其图像信息_【图像处理】OpenCV系列十 --- 边缘检测之Canny算子...

上一篇我们学习了图像处理形态学相关知识点,相信大家学习之后已经对形态学有了足够的理解了,那么接下来,我们一起来学习一下图像处理中的边缘检测吧!我们将会重点学习边缘检测各种算子和滤波器 --- Canny算子,Sobel算子,Laplace算…