您好,登錄后才能下訂單哦!
這篇文章主要介紹“php新建文件名稱亂碼如何解決”,在日常操作中,相信很多人在php新建文件名稱亂碼如何解決問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”php新建文件名稱亂碼如何解決”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
php新建文件名稱亂碼的解決辦法:1、使用“iconv”或“mb_convert_encoding”函數轉換字符的編碼;2、通過“function convertEncoding($string){...}”方法實現根據系統設定轉換編碼即可。
php 新建文件名稱亂碼怎么辦?
在windows下,PHP調用mkdir()、file_put_contents()、fopen()函數創建帶有中文的目錄或文檔名時,出現亂碼。
原因
經過查閱資料,這跟系統字符集有關系。
windows(簡體中文),默認字符集是:gbk
windows(繁體中文),默認字符集是:big5
linux,默認字符集是:utf-8
解決
使用iconv或mb_convert_encoding函數轉換字符的編碼。
//將字符串 str 從 in_charset 轉換編碼到 out_charset。 string iconv ( string $in_charset , string $out_charset , string $str ) //將 string 類型 str 的字符編碼從可選的 from_encoding 轉換到 to_encoding。 string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding = mb_internal_encoding() ] )
根據系統設定轉換編碼,方法如下:
<?php /** * 轉換字符編碼 * @param $string * @return string */ function convertEncoding($string){ //根據系統進行配置 $encode = stristr(PHP_OS, 'WIN') ? 'GBK' : 'UTF-8'; $string = iconv('UTF-8', $encode, $string); //$string = mb_convert_encoding($string, $encode, 'UTF-8'); return $string; }
亂碼示例
<?php #示例1 $dir = __DIR__ . '/中英文目錄Test1'; mkdir($dir); //目錄名:涓嫳鏂囩洰褰昑est1 #示例2 $fileName = __DIR__ . '/中英文檔名Test2.txt'; file_put_contents($fileName, '文件內容Test2'); //文件名:涓嫳鏂囨。鍚峊est2.txt //文件內容:文件內容Test2 #示例3 $fileName = __DIR__ . '/中英文檔名Test3.txt'; $fp = fopen($fileName, 'w'); fwrite($fp, '文件內容Test3'); fclose($fp); //文件名:涓嫳鏂囨。鍚峊est3.txt //文件內容:文件內容Test3 ?>
解決示例
<?php #示例1 $dir = __DIR__ . '/中英文目錄Test1'; $dir = convertEncoding($dir); mkdir($dir); //目錄名:中英文目錄Test1 #示例2 $fileName = __DIR__ . '/中英文檔名Test2.txt'; $fileName = convertEncoding($fileName); file_put_contents($fileName, '文件內容Test2'); //文件名:中英文檔名Test2.txt //文件內容:文件內容Test2 #示例3 $fileName = __DIR__ . '/中英文檔名Test3.txt'; $fileName = convertEncoding($fileName); $fp = fopen($fileName, 'w'); fwrite($fp, '文件內容Test3'); fclose($fp); //文件名:中英文檔名Test3.txt //文件內容:文件內容Test3 /** * 轉換字符編碼 * @param $string * @return string */ function convertEncoding($string){ //根據系統進行配置 $encode = stristr(PHP_OS, 'WIN') ? 'GBK' : 'UTF-8'; $string = iconv('UTF-8', $encode, $string); //$string = mb_convert_encoding($string, $encode, 'UTF-8'); return $string; }
1、執行速度快。
2、具有很好的開放性和可擴展性。
3、PHP支持多種主流與非主流的數據庫。
4、面向對象編程:PHP提供了類和對象。
5、版本更新速度快。
6、具有豐富的功能。
7、可伸縮性。
8、功能全面,包括圖形處理、編碼與解碼、壓縮文件處理、xml解析等。
到此,關于“php新建文件名稱亂碼如何解決”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。