PHP에 업로드시 파일 이름을 변경하는 버그가 있습니다 (http://bugs.php.net/bug.php?id=47096 참조). 따라서 함수를 사용하여 파일 이름을 적절한 UTF8로 변환하고 있습니다. 함수의PHP에서 현재 Windows 코드 페이지를 검색하는 방법
심장은 다음과 같습니다
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