php读取文件时多了个%uFEFF[bom字符],怎样去掉?

今天从记事本文件中读取静态生成记录时,发现读出来的第一个链接打开的时候总是提示非法操作,把鼠标放到链接上发现链接的前面多了个%uFEFF,

百度一查,原来这是好多人都有遇到过的bom头问题,特地记录下

解决方法就是直接使用trim函数去除,例如我的代码:

$getcon=trim(file_get_contents("./LabT/WebF/View/SaveHtml/fileList.txt"),"\xEF\xBB\xBF");此方法也可以解决json_decode解析失败,返回null的问题。

所以偷懒做法是一般从txt或json文件中读取内容的时候都直接加个这个方法。

时间: 2024-10-10 02:07:41

php读取文件时多了个%uFEFF[bom字符],怎样去掉?的相关文章

解决Python读取文件时出现UnicodeDecodeError: 'gbk' codec can't decode byte...

用Python在读取某个html文件时会遇到下面问题: 出问题的代码: 1 if __name__ == '__main__': 2 fileHandler = open('../report.html', mode='r') 3 4 report_lines = fileHandler.readlines() 5 for line in report_lines: 6 print(line.rstrip()) 修改方式是在open方法指定参数encoding='UTF-8': if __nam

fstream读取文件时如何判断读到文件尾

使用fstream读取文件,什么时候读到文件结束呢.首先想到的是,将现在的位置与文件的长度对比,然后再fstream中无法直接获取文件长度.可以采用如下方法 fstream in; in.open("path",ios::in); in.seekg(0,ios::end); int length=in.tellg(); in.seekg(0.ios::beg); whiel(in.tellg()<length) { dosomething; } 这样是不是有点麻烦,在网上查了一圈

【转】C#读取文件时的共享方式

string sFileName = @"C:\Exchange.dat";System.IO.StreamReader file = new System.IO.StreamReader(sFileName);string sTxt = file.ReadLine();file.Close();在这个代码中,C#读取文件时,默认是Read模式,即它打开文件后,别的应用程序只能读取该文件而不能修改文件. 如果要别的应用程序在它打开该文件的时候也能修改该文件,则需要指定模式为ReadWr

StreamReader读取文件时出现乱码的解决方案

今天在做一个打开文件对话框OpenFileDialog时,需要对打开的文件进行读取,显示在在窗体中的RichTextBox中.但是在显示文件时,却发现显示的中文字符串出现乱码.代码的关键部分如下所示: 1 StreamReader sr = new StreamReader(openFileDialog.OpenFile()); 2 string str = sr.ReadToEnd(); 3 childForm.richTextBox1.Text = str; 开始我也想到了是字符编码出了问题

FileSystemWatcher 读取文件时出现被占用的解决方法

今天做一个小程序监控目录并序列化XML时遇到第一次正常,第二个新文件加入时出现文件被占用的错误,记录下解决方法. 1 FileSystemWatcher watcher = new FileSystemWatcher{ 2 Path = path, 3 Filter = filter, 4 EnableRaisingEvents = true, 5 IncludeSubdirectories = true, 6 NotifyFilter = NotifyFilters.Attributes |

Ajax读取文件时出现的缓存问题

对于Ajax缓存问题时,由于浏览器的版本问题,有时候当服务器端已更改文件中的内容,而客户端并得不到更新后的文件,而是延续之前的文件内容,解决办法是:在读取的文件内容后加一串的地址:JSON的格式为[{a:4,b:5},{c:5,d:6}]这种格式. 比如下面 window.onload=function(){var oBtn=document.getElementById('btn1');oBtn.onclick=function(){ajax('1.txt?t='+new Date().get

fgets读取文件时的注意事项

1 文本文件 a.txt 内容如下 2 c代码 FILE *fil; if (!(fil = fopen("/home/rudy/projects/paser/a.txt", "rb"))) { printf("File I/O error,the File is not exist\n"); exit(0); } int line = 0; while(!feof(fil)) { if (fgetc(fil) == '\n') { ++line

python3读取文件时readline()和read()的区别

先贴一下python读写文件的基本语句: 其他文件读写语句可参看:http://www.nnzhp.cn/blog/2016/12/19/python学习笔记三文件操作和集合/ 先写一个read()和readline()语句的程序,看一下运行结果: 运行结果如下(结果不全,仅为示例): 可以看出, name_frist=name.readline(),返回的是文件中的第一行hello. name_str=name.read(),返回的是文件中的所有行,并且每行都是换行输出. name_all=n

U盘删除文件时提示“文件或目录损坏且无法读取”的解决方法

U盘删除文件时提示"文件或目录损坏且无法读取"的解决方法 出现原因:在写入或读取文件时,进行复制操作,此时复制到的文件是不完整的!或者移动硬盘/U盘中途被拔出,导致文件损坏 异常现象:被删文件(夹)属性为"只读",更改属性后删除,出现错误提示:提示文件损坏. DOS下使用rd /s命令强制删除失败,进入到该文件夹下使用del /f命令强制删除失败. 使用冰刃.unlocker等强制粉碎文件工具都提示文件损坏 解决方法:CMD下运行命令" chkdsk /f