在網路上找相關文章都沒有
連一個正面的都沒有
是大家都太厲害了嘛 ><"
大概大家都不用中文來處理
嗯... 這是對的!
不過我的任務現在就是要這樣做 ._.
所以如無特殊要求的話
還是用英文加數字重新命名,再去跟資料庫做對應吧~
資料夾及檔名未經編碼前:
資料夾及檔名經編碼後:
原來的程式:(僅列出部份程式)
$path = $_SERVER['DOCUMENT_ROOT'];
$objDirectory = opendir($path);
while ($strFilename = readdir($objDirectory)) {
if (($strFilename) && ($strFilename != '.') && ($strFilename != '..') && ($strFilename != 'CVS')) {
echo $strFilename.'
';
}
}
closedir($objDirectory);
更改過後的程式:
echo iconv("BIG5", "UTF-8", $strFilename);
雖然 Windows XP 底層是用 UCS-2
這亂碼的情形剛好在我的電腦還有 Server 都發生
我的 Notebook 開發環境如下:
- Windows XP Home Edition SP2 English version
- Control Panel 中的 Regional and Language Options。Location 是 Taiwan;Advanced 中的 Language for non-Unicode programs 是 Chinese(Taiwan)。
- PHP 使用 UTF-8 編碼
- Apache 2.2.4 / PHP 5.2.1
- FreeBSD 6.2-RELEASE i386
(可用 uname -r 查詢) - Apache 2.2.3 / PHP 5.1.6
- Samba 使用 CP950 編碼
Keyword:
php, readdir, opendir, closedir, iconv, unicode, UTF-8, UCS-2, UTF-16, CP950
2 則留言:
這個程式可以一直往下讀取到最後一層嗎?
不行 :3
原本程式可以,不過我改過
因為裡面有用到期他的 class
所以就自己練習看看吧 ^^
張貼留言