乌徒帮技术范儿WEB开发PHP › PHP创建文件如何确定编码,ANSI还是UTF8?

PHP创建文件如何确定编码,ANSI还是UTF8?

分类:PHP 标签:

我们来简单看下PHP创建文件的代码:

$handle = @fopen($local_file_txt,"w+");
if(fwrite($handle,$local_file_content) === false){
?? ?die("写入文件 local_file.txt 失败");
?? ?exit();
}
fclose($handle);

一般而言,这种方法没有问题,然而当我们用到中文的时候就出现问题了,首先是中文名的文件,这个问题不是本文探讨的范围,另一个问题是文件的内容中包含中文。 经过观察,这样创建的txt文件(包括其他扩展名的文本文件)都是ANSI编码的,(ANSI是文件编码)里面的中文常常是乱码。为了解决这个问题,我们用一个简单的代码串来解决:

fwrite($handle,"\xEF\xBB\xBF".$loacl_file_content)

在写入的文件内容之前加上上面的红色字体部分,即可让产生的文本文件是UTF8编码的,其中的中文内容就不再是乱码了。

填写个人信息,赶快回复吧!