PHP fopen中文文件名亂碼問題解決方案
一般在php中會使用fopen進(jìn)行生成文件,但是當(dāng)文件名存在中文時(shí)保存文件會出現(xiàn)中文亂碼。源代碼:
<?php$fileName = __DIR__ . ’測試.txt’;$fp = fopen($fileName, ’w’);fwrite($fp, ’這是中文內(nèi)容’);fclose($fp);echo $fileName.’<br>’;if(file_exists($fileName)){ echo ’hhhhh’;}?>
結(jié)果:

文件名是亂碼
解決:
對文件名進(jìn)行編碼。
<?php$fileName = __DIR__ . ’測試.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é)果:

文件名非亂碼
但是看頁面輸出的文件名:

輸出的文件名為亂碼
所以當(dāng)要在頁面上輸出文件名又需要保存文件時(shí),可以先保存原先的中文文件名,再通過文件名編碼進(jìn)行創(chuàng)建文件。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. JS中6個(gè)對象數(shù)組去重的方法2. Java commons-httpclient如果實(shí)現(xiàn)get及post請求3. 資深程序員:給Python軟件開發(fā)測試的25個(gè)忠告!4. 一文帶你徹底理解Java序列化和反序列化5. PHP程序員簡單的開展服務(wù)治理架構(gòu)操作詳解(二)6. PHP利用curl發(fā)送HTTP請求的實(shí)例代碼7. Python基于requests庫爬取網(wǎng)站信息8. vscode運(yùn)行php報(bào)錯(cuò)php?not?found解決辦法9. PHP laravel實(shí)現(xiàn)導(dǎo)出PDF功能10. python中文本字符處理的簡單方法記錄

網(wǎng)公網(wǎng)安備