新聞中心
本文操作環(huán)境:Windows7系統(tǒng),php7.1版,Dell G3電腦。

“專業(yè)、務實、高效、創(chuàng)新、把客戶的事當成自己的事”是我們每一個人一直以來堅持追求的企業(yè)文化。 創(chuàng)新互聯(lián)建站是您可以信賴的網(wǎng)站建設(shè)服務商、專業(yè)的互聯(lián)網(wǎng)服務提供商! 專注于成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、軟件開發(fā)、設(shè)計服務業(yè)務。我們始終堅持以客戶需求為導向,結(jié)合用戶體驗與視覺傳達,提供有針對性的項目解決方案,提供專業(yè)性的建議,創(chuàng)新互聯(lián)建站將不斷地超越自我,追逐市場,引領(lǐng)市場!
php中文傳到后臺亂碼怎么辦?
php文件上傳后臺存儲中文亂碼問題解決方案:
php文件上傳后臺處理講解:
用戶上傳文件后(前端我用的是uploadify2.3),我希望按照它原有的文件名保存(有時是中文),只用php的move_uploaded_file命令會出現(xiàn)亂碼(我是ubuntu的服務器)。需要先用icotargetFile=iconv(′UTF?8′,′GB2312//IGNORE′,targetFile);不加IGNORE的話iconv會對— (橫杠)這一字符轉(zhuǎn)換失敗,并且后面自動截斷。例如:
iconv('UTF-8', 'GB2312//IGNORE', "博客—yet"); // 輸出"博客yet"
iconv('UTF-8', 'GB2312//IGNORE', "博客—yet"); // 輸出"博客"
所以正確的存儲方法是:
$targetFile = iconv('UTF-8', 'GB2312//IGNORE', $targetFile); // UTF8轉(zhuǎn)GB2312
move_uploaded_file($tempFile, $targetFile); // 服務器把文件暫時放在$tempFile
因為轉(zhuǎn)碼會損失字符,我們需要將新文件名保存,為了確定到底那些字符丟失,我使用了這樣來回轉(zhuǎn)換的trick:
$targetFile = iconv('GB2312', 'UTF-8//IGNORE', $targetFile );
php文件下載后臺處理講解:
其中何時使用GB2312,何時UTF8很重要。
此外ob_clean()和flush()是下載來的文件是否亂碼的關(guān)鍵
下面是我搭配uploadify 2.3使用的文件上傳后端文件,僅供參考:
標題名稱:php中文傳到后臺亂碼怎么辦
文章來源:http://m.5511xx.com/article/ccdgeps.html


咨詢
建站咨詢
