在 Windows Vista(XP 應該也是一樣), 然後 LAMP 是 Appserv, 要開中文名稱的資料夾, 會出現下述錯誤:
Warning: mkdir() [function.mkdir]: Invalid argument in C:\AppServ\www\test\mkdir.php on line 3
猜想應該是編碼問題, 只是到底要用什麼編碼? UNICODE? UTF-16? UTF-8? Big5? cp950?
答案是編碼問題沒錯, 在 Windows 裡面, 目錄編碼還是用 Big5 或 cp950.
程式範例
<?php
$dir_name = '中文';
$dir_name = mb_convert_encoding($dir_name, 'big5', 'UTF-8');
var_dump(mkdir($dir_name));
?>
罕見字如何處理,例如方方土
先確定 Windows 上, 這個字的資料夾能建立.
然後 把 big5 改成 cp950, 會解決比較多的罕見字問題, 建議盡量少用中文當檔名會比較好.