PHP的iconv编码转换在file_put_contents和file_get_contents中使用


//utf-8转化为GBK
$data = iconv("utf-8","GBK//IGNORE",$data);

//GBK转化为utf-8
$data = iconv("GBK","utf-8//IGNORE",$data);

//IGNORE,让iconv()函数忽略错误,继续执行。


在file_put_contents和file_get_contents中的简单运用      


$str = '少时诵诗书所所';
$filename = '文件名.txt';
file_put_contents($filename, $str);

$st = file_get_contents($filename);
echo $st;

会进行如下报错

Warning: file_put_contents(文件名.txt): failed to open stream

Warning: file_get_contents(文件名.txt): failed to open stream


文件名中文乱码 将非GBK字符集的编码转为GBK

一般情况是文件用的是utf-8编码,但是系统默认为gbk.所以先把文件名转换gbk然后再读取

$str = '少时诵诗书所所';
$filename = '文件名.txt';
file_put_contents(@iconv('UTF-8','GBK',$filename),$str);

$st = file_get_contents(@iconv('UTF-8','GBK',$filename));
echo $st;

正常执行---其中把中文文件名编码转为GBK,不乱码

当然其中内容也可强制转换为utf-8,以防乱码

你可能感兴趣的:(PHP基础杂项)