在PHP 的檔案系統函數中處理UTF-8 檔案名稱
使用PHP 的mkdir 函數建立包含UTF-8 字元的檔案夾時,您可能會遇到顯示因編碼而導致Windows資源管理器出現問題
解決方案:URL 編碼檔名
要解決此問題,請使用 urlencode 函數將所需的資料夾名稱轉換為 URL安全格式,然後再將其傳遞給mkdir:
$dir_name = urlencode("Depósito"); mkdir($dir_name);
這可確保資料夾名稱中的所有字元都被編碼為有效的檔案名稱所有作業系統。若要檢索原始 UTF-8 檔案名,請使用 urldecode。
替代解決方案(帶警告)
雖然URL 編碼是建議的解決方案,但還有一些不太有吸引力的替代方案:
轉換為ISO-8859-1 (Windows僅)
在Windows上,您可以使用 UTF-8 檔案名,但請注意,非 ASCII 字元在 PHP 之外將無法正確顯示。若要解決此問題,請使用 utf8_decode 將檔案名稱轉換為 ISO-8859-1,然後再在檔案系統函數中使用它們。
限制為 ISO-8859-1 字元
或者,將檔案名稱限制為 ISO-8859-1 中可表示的字元。使用 utf8_decode 和 utf8_encode 在 UTF-8 和 ISO-8859-1 之間轉換檔案名稱。
但是,這些替代方案帶有警告:
以上是如何在 PHP 檔案系統函數中處理 UTF-8 檔案名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!