PHP 在 Windows Vista 開 中文名稱 資料夾 該用何種編碼

在 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));
?>

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

在〈PHP 在 Windows Vista 開 中文名稱 資料夾 該用何種編碼〉中有 2 則留言

  1. 先確定 Windows 上, 這個字的資料夾能建立.
    然後 把 big5 改成 cp950, 會解決比較多的罕見字問題, 建議盡量少用中文當檔名會比較好.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料