PHP fopen中文文件名乱码问题解决方案
一般在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'; } ?>
结果:
文件名非乱码
但是看页面输出的文件名:
输出的文件名为乱码
所以当要在页面上输出文件名又需要保存文件时,可以先保存原先的中文文件名,再通过文件名编码进行创建文件。
相关推荐
dabian 2020-09-07
xiaoxue 2020-06-16
FCLAMP 2020-05-27
FCLAMP 2020-05-08
Crazyshark 2019-11-04
playlinuxxx 2010-09-03
liangds 2011-07-15
MXstudying 2019-07-12
左转有出口 2015-09-08
至善至美 2019-07-11
ahxxx 2019-06-30
MXstudying 2019-06-30
lbcmail 2011-09-28
resilient 2019-06-27
微麦PHP 2019-06-21
PpikachuP 2019-06-21
UESTC 2011-03-10
Jiajinjin 2016-11-28