PHP fopen中文文件名亂碼問(wèn)題解決方案
一般在php中會(huì)使用fopen進(jìn)行生成文件,但是當(dāng)文件名存在中文時(shí)保存文件會(huì)出現(xiàn)中文亂碼。
源代碼:
<?php $fileName = __DIR__ . '\測(cè)試.txt'; $fp = fopen($fileName, 'w'); fwrite($fp, '這是中文內(nèi)容'); fclose($fp); echo $fileName.'<br>'; if(file_exists($fileName)){ echo 'hhhhh'; } ?>
結(jié)果:
文件名是亂碼
解決:
對(duì)文件名進(jìn)行編碼。
<?php $fileName = __DIR__ . '\測(cè)試.txt'; $fileName = iconv('UTF-8', 'GBK', $fileName); $fp = fopen($fileName, 'w'); fwrite($fp, '這是中文內(nèi)容'); fclose($fp); echo $fileName.'<br>'; if(file_exists($fileName)){ echo 'hhhhh'; } ?>
結(jié)果:
文件名非亂碼
但是看頁(yè)面輸出的文件名:
輸出的文件名為亂碼
所以當(dāng)要在頁(yè)面上輸出文件名又需要保存文件時(shí),可以先保存原先的中文文件名,再通過(guò)文件名編碼進(jìn)行創(chuàng)建文件。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
php實(shí)現(xiàn)面包屑導(dǎo)航例子分享
這篇文章主要為大家分享了php實(shí)現(xiàn)面包屑導(dǎo)航例子,感興趣的小伙伴們可以參考一下2015-12-12PHP imagegrabscreen和imagegrabwindow(截取網(wǎng)站縮略圖)的實(shí)例代碼
PHP5.2.2以上版本的GD庫(kù)實(shí)現(xiàn)了兩個(gè)截屏函數(shù) imagegrabscreen 和 imagegrabwindow ,分別用于截取整個(gè)屏幕和截取某個(gè)窗口(同ALT+PrintScreen)的屏幕2013-11-11