0
當前的Windows代碼頁
存在着PHP其中軋液對上傳的文件名中的錯誤 - 瞧瞧http://bugs.php.net/bug.php?id=47096。因此,我正在使用函數將文件名轉換爲正確的UTF8。如何檢索在PHP
心臟的功能是:
if ('WIN' == substr(PHP_OS, 0, 3)) {
$codepage = 'Windows-' . trim(strstr(setlocale(LC_CTYPE, 0), '.'), '.');
if (function_exists('iconv')) {
$filename = iconv('UTF-8', $codepage, $filename);
} elseif (function_exists('mb_convert_encoding')) {
$filename = mb_convert_encoding($filename, 'UTF-8', $codepage);
}
}
這工作得很好用老版本PHP(< 5.2)。然而最近PHP版本的命令
setlocale(LC_CTYPE, 0)
返回「C」 - 這顯然不是Windows代碼頁,因此轉換失敗。
有沒有一種可靠或可替代的方式來檢索PHP中的當前Windows代碼頁?
謝謝你 - 這奏效了:-) – CarstenSchmitz