PHP fopen中文文件名亂碼問題解決方案
一般在php中會(huì)使用fopen進(jìn)行生成文件,但是當(dāng)文件名存在中文時(shí)保存文件會(huì)出現(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é)果:
文件名是亂碼
解決:
對(duì)文件名進(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)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 推薦一個(gè)好看Table表格的css樣式代碼詳解2. 基于Surprise協(xié)同過濾實(shí)現(xiàn)短視頻推薦方法示例3. 不使用XMLHttpRequest對(duì)象實(shí)現(xiàn)Ajax效果的方法小結(jié)4. vue-electron中修改表格內(nèi)容并修改樣式5. 微信小程序?qū)崿F(xiàn)商品分類頁過程結(jié)束6. 以PHP代碼為實(shí)例詳解RabbitMQ消息隊(duì)列中間件的6種模式7. ASP新手必備的基礎(chǔ)知識(shí)8. AJAX實(shí)現(xiàn)文件上傳功能報(bào)錯(cuò)Current request is not a multipart request詳解9. PHP獲取時(shí)間戳等相關(guān)函數(shù)匯總10. ASP常用日期格式化函數(shù) FormatDate()
