php使用fopen创建utf8编码文件的方法


Posted in PHP onOctober 31, 2014

本文实例讲述了php使用fopen创建utf8编码文件的方法。分享给大家供大家参考。具体实现方法如下:

一般来说,如果我们直接使用fopen创建会发现文件编码都不是uft-8的了,那么如果要创建uft8文件我们需要进行一些技术处理。具体步骤如下:

使用PHP创建编码格式为utf-8文件的方法:

第一步:新建一个txt文件,打开,文件->另存为xxx.php,并将编码改为UTF-8,保存。

第二部:在php文件中加入如下代码:

<?php

$filename=rand(100,999).".txt";//定义好要创建的文件名称和文件格式(按需要自己改)

$str = "PHP学习网[3water.com]";//待写入新建文件中的内容

if (!$head=fopen($filename, "w+")) {//以读写的方式打开文件,将文件指针指向文件头并将文件大小截为零,如果文件不存在就自动创建

die("尝试打开文件[".$filename."]失败!请检查是否拥有足够的权限!创建过程终止!");

}

if (fwrite($head,$str)==false) {//执行写入文件

fclose($head);

die("写入内容失败!请检查是否拥有足够的权限!写入过程终止!");

}

echo "成功创建UTF-8格式文件[".$filename."],并向该文件中写入了内容:".$str;

fclose($head);

?>

使用这种方法创建UTF-8编码文件的关键点:

① 保证PHP代码文件本身的编码格式为UTF-8
② php代码文件的编码格式是什么则创建出来的文件编码也是什么
③ 显示出现乱码的问题

控制页面显示的因素主要有三个:

1.HTML代码控制:标准HTML网页文件中的head标签内部包含了这一句代码<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />,代码中charset=utf-8这句就是告诉浏览器要以utf-8格式将网页中的内容显示出来。

2.PHP代码控制:如果在PHP文件的开头加上header("content-Type: text/html; charset=utf-8");这句代码,也是为了告诉浏览器要以utf-8格式将网页中的内容显示出来。(注:这句代码之前不能有类似echo的输出)

3.文件物理存储属性控制:用记事本打开一个文件,文件->另存为,你在“编码”中所看到的就是当前文件的真正的编码

补充一个fopen例子

<?php

$f=fopen("test.txt", "wb");

$text=utf8_encode("a!");

 

//先用函数utf8_encode将所需写入的数据变成UTF编码格式。

 

$text="\xEF\xBB\xBF".$text;

 

//"\xEF\xBB\xBF",这串字符不可缺少,生成的文件将成为UTF-8格式,否则依然是ANSI格式。

 

fputs($f, $text);

 

//写入。

 

fclose($f);

?>

这样创建出的文件编码格式确实是utf-8,但是放在文件中的汉字出现了乱码的现象,经过一番调试,代码如下:

<?php

$ctxtsubmit="好呀";

$f=fopen("../".$file, "wb");

    //$text=utf8_encode($ctxtsubmit);

    //先用函数utf8_encode将所需写入的数据变成UTF编码格式。

    $text="\xEF\xBB\xBF".$ctxtsubmit;

     //"\xEF\xBB\xBF",这串字符不可缺少,生成的文件将成为UTF-8格式,否则依然是ANSI格式。

    fputs($f, $text);

    //写入。

     fclose($f); 

?>

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
如何将一个表单同时提交到两个地方处理
Oct 09 PHP
关于php fread()使用技巧
Jan 22 PHP
一个PHP缓存类代码(附详细说明)
Jun 09 PHP
PHP的可变变量名的使用方法分享
Feb 05 PHP
JS中encodeURIComponent函数用php解码的代码
Mar 01 PHP
php遍历所有文件及文件夹的方法深入解析
Jun 08 PHP
服务器变量 $_SERVER 的深入解析
Jul 02 PHP
php 过滤英文标点符号及过滤中文标点符号代码
Jun 12 PHP
PHP实现克鲁斯卡尔算法实例解析
Aug 22 PHP
php使用fopen创建utf8编码文件的方法
Oct 31 PHP
THINKPHP内容分页代码分享
Jan 14 PHP
PHP设计模式之组合模式定义与应用示例
Feb 01 PHP
php结合js实现点击超链接执行删除确认操作
Oct 31 #PHP
PHP页面实现定时跳转的方法
Oct 31 #PHP
Thinkphp多文件上传实现方法
Oct 31 #PHP
Laravel 4 初级教程之Pages、表单验证
Oct 30 #PHP
Laravel 4 初级教程之视图、命名空间、路由
Oct 30 #PHP
Laravel 4 初级教程之安装及入门
Oct 30 #PHP
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
Oct 30 #PHP
You might like
PHP 和 MySQL 基础教程(一)
2006/10/09 PHP
php 网页播放器用来播放在线视频的代码(自动判断并选择视频文件类型)
2010/06/03 PHP
PHP面向对象学习笔记之二 生成对象的设计模式
2012/10/06 PHP
零基础php编程好学吗
2019/10/11 PHP
分别用marquee和div+js实现首尾相连循环滚动效果,仅3行代码
2011/09/21 Javascript
javascript (用setTimeout而非setInterval)
2011/12/28 Javascript
探讨JavaScript中的Rest参数和参数默认值
2015/07/29 Javascript
jquery解析XML及获取XML节点名称的实现代码
2016/05/18 Javascript
vue实现ToDoList简单实例
2017/02/07 Javascript
nodejs socket实现的服务端和客户端功能示例
2017/06/02 NodeJs
教你5分钟学会用requirejs(必看篇)
2017/07/25 Javascript
JavaScript的查询机制LHS和RHS解析
2019/08/16 Javascript
layer.open回调获取弹出层参数的实现方法
2019/09/10 Javascript
JavaScript实现alert弹框效果
2020/11/19 Javascript
[56:42]VP vs RNG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python cookbook(数据结构与算法)找到最大或最小的N个元素实现方法示例
2018/02/13 Python
Python3实现汉语转换为汉语拼音
2019/07/08 Python
简单了解python PEP的一些知识
2019/07/13 Python
对python中不同模块(函数、类、变量)的调用详解
2019/07/16 Python
Python如何实现强制数据类型转换
2019/11/22 Python
pytorch 数据处理:定义自己的数据集合实例
2019/12/31 Python
澳大利亚领先的在线美容商城:Adore Beauty
2017/04/14 全球购物
SQL Server提供的3种恢复模型都是什么? 有什么区别?
2012/05/13 面试题
linux比较文件内容的命令是什么
2015/09/23 面试题
中职应届生会计求职信
2013/10/23 职场文书
优秀老师事迹材料
2014/02/05 职场文书
室内拓展活动方案
2014/02/13 职场文书
施工安全责任书
2014/04/14 职场文书
网络技术专业求职信
2014/07/13 职场文书
教师职位说明书
2014/07/29 职场文书
乡镇党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
行政诉讼答辩状
2015/05/21 职场文书
学校扫黄打非工作总结
2015/10/15 职场文书
观看《信仰》心得体会
2016/01/15 职场文书
Windows Server 2016 配置 IIS 的详细步骤
2022/04/28 Servers
PyCharm 配置SSH和SFTP连接远程服务器
2022/05/11 Python