php无法读取txt文件(php写入txt乱码的解决方法)
类别:编程学习 浏览量:1482
时间:2021-11-03 12:39:07 php无法读取txt文件
php写入txt乱码的解决方法相信很多人在使用PHP的过程中都遇到过生成文件乱码的情况,不论是使用fwrite还是file_put_contents写入。可能你会先尝试从编码入手尝试解决,但最终的结果往往是不理想的,尽管我们都将其转换为了UTF-8编码了...
那么究其根本原因是什么呢?就是缺少头部BOM(当然,这里指的肯定不是Js的Bom)。
BOM
既然提到了BOM,那么可能有的同学不太了解这个家伙,这里我简单说一下,老鸟可以跳过。在Windows下用记事本之类的程序将文本文件保存为UTF-8格式时,记事本会在文件头前面加上几个不可见的字符(EF BB BF),就是所谓的BOM(Byte order Mark)。
不仅限于 记事本保存的文件,只要在文件的开口包含了“EF BB BF” 几个不可见的字符(十六进制应该是是xEFxBBxBF,用二进制编辑文件可见)。这像是一个约定俗成的东西,当系统看到这玩意的时候,就会觉得你这个文件是UTF-8编码的。
这就是为什么当文件没有BOM时,你给用户呈现的文件就可能是乱码的原因了。
PS : 其实你可以将BOM理解成HTML中的charset属性和XML中的encoding属性,就是起一个标识作用。
解决办法:
那么如何在PHP中输出BOM呢?
答案是在所有内容输出之前输出:
|
print ( chr (0xEF). chr (0xBB). chr (0xBF)); |
当然,如果你是在生成文件,可能是下面两种:
|
fwrite( $file , chr (0xEF). chr (0xBB). chr (0xBF)); file_put_contents ( $file , chr (0xEF). chr (0xBB). chr (0xBF)); |
以上就是php写入txt乱码的详细内容,感谢大家对开心学习网的支持。
原文链接:https://www.php.cn/php-ask-430343.html
您可能感兴趣
- php简单定时执行任务(php实现 master-worker 守护多进程模式的实例代码)
- php博客开发短信原理(PHP如何实现阿里云短信sdk灵活应用在项目中的方法)
- thinkphp远程代码执行教程(ThinkPHP 5.x远程命令执行漏洞复现)
- php启用curl(php使用curl伪造浏览器访问操作示例)
- php数据类型图解(php使用filter_var函数判断邮箱,url,ip格式示例)
- php大量数据计算有什么技巧(PHP各种常见经典算法总结排序、查找、翻转等)
- php自定义函数返回多少个值(PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法)
- thinkphp分页效果怎样(thinkphp5+layui实现的分页样式示例)
- mysql5.7.19下载及安装教程(Apache2.2.16+PHP5.3.3+MySQL5.1.49的配置方法)
- dedecms标签调用原理(DEDECMS安全设置 执行php脚本限制设置方法apache+nginx)
- php查询数据库给变量赋值(详解PHP变量传值赋值和引用赋值变量销毁)
- 织梦cms漏洞怎么解决(织梦cms、帝国cms、PHPcms优缺点解析)
- thinkphp怎么输出二维值(thinkphp 表名 大小写 窍门)
- thinkphp权限认证怎么用(ThinkPHP框架结合Ajax实现用户名校验功能示例)
- php中如何使用缓存(PHP使用OB缓存实现静态化功能示例)
- php怎么实现多线程(PHP实现的多进程控制demo示例)
- 韩国泡菜做法(韩国泡菜的做法步骤)
- 泰国旅游攻略(泰国旅游攻略必去景点)
- 越难春卷(越难春卷皮怎么用)
- 休闲VS新古典 办公家居简约设计(办公家居简约设计)
- 15个新成 园 位置公布 深圳龙岗2022年共建花园建设又有大动作(15个新成园位置公布)
- 记者手记 书记带我去 巡街(记者手记书记带我去)
热门推荐
- python 二维数组怎么取第二列(python实现二维数组的对角线遍历)
- css中rem单位
- python mysql配置(详解python校验SQL脚本命名规则)
- html5文档的基本结构及必要的注释(关于HTML5+ API plusready的兼容问题)
- html的css中怎么选择第三个子元素(CSS中 opacity的设置影响了index层数的改变的问题总结推荐)
- laravel请求耗时(Laravel统计一段时间间隔的数据方法)
- php实现redis消息队列(redis+php实现微博三微博列表功能详解)
- Serif和Sans-serif的区别
- python闭包的讲解(详解python函数的闭包问题内部函数与外部函数详述)
- docker compose 与docker区别(windows安装Docker与docker-compose套装的详细教程)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9