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

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
本篇發表於 My_Note-Programming。將永久鏈結加入書籤。

PHP 在 Windows Vista 開 中文名稱 資料夾 該用何種編碼 有 2 則回應

  1. ford 說道:

    罕見字如何處理,例如方方土

  2. Tsung 說道:

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

發表迴響

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