將PHP 檔案系統函數與UTF-8 字串結合使用
在PHP 中,在使用檔案系統函數時處理UTF- 8 字串可能會帶來挑戰。考慮以下場景:
$dir_name = "Depósito"; mkdir($dir_name);
在此範例中,嘗試建立名為「Depósito」的資料夾。但是,在 Windows 資源管理器中檢視時,該資料夾的名稱顯示為“Depósito”,非 UTF-8 字元會變形。
解決方案:對UTF-8 字串進行Urlencoding
要解決此問題,建議的方法是在將字串與檔案系統函數一起使用之前對其進行urlencode。 Urlencoding 確保所有字元都轉換為有效格式。
$dir_name_encoded = urlencode("Depósito"); mkdir($dir_name_encoded);
透過對字串進行urlencoding,非UTF-8 字元將轉換為其編碼的對應字符,從而允許使用正確的名稱建立資料夾.
注意事項
雖然urlencoding是一種有效的解決方案,它引入了一些注意事項:
替代解決方案(不太理想)
其他不太理想的解決方案包括:
注意事項:
音譯:
中在UTF-8 相容性至關重要的情況下,請考慮使用音譯將非ASCII 字元轉換為與目標相容的等效ASCII 字元檔案系統。
以上是如何在 PHP 中安全地建立具有 UTF-8 檔案名稱的目錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!