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 相关文章推荐
不重新编译PHP为php增加openssl模块的方法
Jun 14 PHP
php新建文件自动编号的思路与实现
Jun 27 PHP
php中批量删除Mysql中相同前缀的数据表的代码
Jul 01 PHP
深入phpMyAdmin的安装与配置的详细步骤
May 07 PHP
PHP APC配置文件2套和参数详解
Jun 11 PHP
php实现简单的MVC框架实例
Sep 23 PHP
轻松实现php文件上传功能
Feb 17 PHP
php获取ajax的headers方法与内容实例
Dec 27 PHP
详解php与ethereum客户端交互
Apr 28 PHP
Laravel源码解析之路由的使用和示例详解
Sep 27 PHP
PHP实现简易计算器功能
Aug 28 PHP
PHP正则表达式笔记与实例详解
May 09 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实现水仙花数的4个示例分享
2014/04/08 PHP
smarty模板引擎基础知识入门
2015/03/30 PHP
Yii2.0框架实现带分页的多条件搜索功能示例
2019/02/20 PHP
JavaScript 利用StringBuffer类提升+=拼接字符串效率
2009/11/24 Javascript
javascript定时保存表单数据的代码
2011/03/17 Javascript
Jquery 返回json数据在IE浏览器中提示下载的问题
2014/05/18 Javascript
jQuery实现长按按钮触发事件的方法
2015/02/02 Javascript
jQuery实现鼠标滑过Div层背景变颜色的方法
2015/02/17 Javascript
jquery插件hiAlert实现网页对话框美化
2015/05/03 Javascript
Node.js中process模块常用的属性和方法
2016/12/13 Javascript
js原生Ajax的封装和原理详解
2017/03/11 Javascript
iview table render集成switch开关的实例
2018/03/14 Javascript
Vue中的字符串模板的使用
2018/05/17 Javascript
解决淘宝cnpm 安装后cnpm不是内部或外部命令的问题
2018/05/17 Javascript
Javascript格式化并高亮xml字符串的方法及注意事项
2018/08/13 Javascript
使用Node搭建reactSSR服务端渲染架构
2018/08/30 Javascript
jQuery+css实现的点击图片放大缩小预览功能示例【图片预览 查看大图】
2020/05/29 jQuery
在Uni中使用Vue的EventBus总线机制操作
2020/07/31 Javascript
python 获取本机ip地址的两个方法
2013/02/25 Python
python 实现将txt文件多行合并为一行并将中间的空格去掉方法
2018/12/20 Python
Python3.8安装Pygame教程步骤详解
2020/08/14 Python
python list的index()和find()的实现
2020/11/16 Python
python的dict判断key是否存在的方法
2020/12/09 Python
IE支持HTML5的解决方法
2009/10/20 HTML / CSS
html5 学习简单的拾色器
2010/09/03 HTML / CSS
HMV日本官网:全球知名的音乐、DVD和电脑游戏零售巨头
2016/08/13 全球购物
YOINS官网:时尚女装网上购物
2017/03/17 全球购物
英国可持续奢侈品包包品牌:Elvis & Kresse
2018/08/05 全球购物
PHP如何设置和取得Cookie值
2015/06/30 面试题
国际贸易专业个人职业生涯规划
2014/02/15 职场文书
董事长助理岗位职责
2014/02/18 职场文书
建筑工地大门标语
2014/06/18 职场文书
幼儿园六一儿童节演讲稿
2015/03/19 职场文书
2016元旦晚会主持词开场白和结束语
2015/12/04 职场文书
python多线程方法详解
2022/01/18 Python
Java数组详细介绍及相关工具类
2022/04/14 Java/Android