PHPfopen中⽂⽂件名乱码问题解决⽅案
⼀般在php中会使⽤fopen进⾏⽣成⽂件,但是当⽂件名存在中⽂时保存⽂件会出现中⽂乱码。
源代码:
<?php
$fileName = __DIR__ . '\测试.txt';
$fp = fopen($fileName, 'w');
fwrite($fp, '这是中⽂内容');
fclose($fp);
echo $fileName.'<br>';
if(file_exists($fileName)){
echo 'hhhhh';
}
>
结果:
⽂件名是乱码
解决:
对⽂件名进⾏编码。
<?php
$fileName = __DIR__ . '\测试.txt';
$fileName = iconv('UTF-8', 'GBK', $fileName);
$fp = fopen($fileName, 'w');
fwrite($fp, '这是中⽂内容');
fclose($fp);
echo $fileName.'<br>';
if(file_exists($fileName)){
echo 'hhhhh';
}
>
结果:
⽂件名⾮乱码
但是看页⾯输出的⽂件名:
输出的⽂件名为乱码
乱码文字生成所以当要在页⾯上输出⽂件名⼜需要保存⽂件时,可以先保存原先的中⽂⽂件名,再通过⽂件名编码进⾏创建⽂件。以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。