hi,你好!欢迎访问本站!登录
本站由简数采集腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - PHP问题 - 正文 请牢记本站网址www.sosophp.cn

php生成txt乱码【php题目】

2019-11-26PHP问题搜搜PHP网44°c
A+ A-

媒介

置信许多人在运用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视频教程

以上就是php生成txt乱码的细致内容,更多请关注ki4网别的相干文章!

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  选择分享方式
  移步手机端
php生成txt乱码【php题目】

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
标签: