Я запустил этот php-код:
echo "<br>system locales: ".system('locale -a')."<br><br>"; echo "current locales: ".setlocale(LC_ALL, 0)."<br><br>"; var_dump(setlocale (LC_ALL, 'de_DE.utf8')); echo "current locales: ".setlocale(LC_ALL, 0)."<br><br>"; echo "accepting german characters?: ".ctype_alpha("äüöß")."<br><br>"; echo "accepting characters in general?: ".ctype_alpha("test")."<br><br>"; echo "rejecting numbers?: ".ctype_alpha("tes2t")."<br><br>";
и получить этот результат:
C C.UTF-8 POSIX de_DE.utf8 system locales: de_DE.utf8 current locales: C string(10) "de_DE.utf8" current locales: de_DE.utf8 accepting german characters?: accepting characters in general?: 1 rejecting numbers?
Я ожидал, что после вызова setlocale (LC_ALL, 'de_DE.utf8') ctype_alpha примет германские символы, такие как äöüß, как написано в документации: «Возвращает TRUE, если каждый символ в тексте является буквой из текущего языка , в противном случае FALSE. " но это не так. Что я здесь делаю неправильно?
Версия PHP: 5.3.10-1ubuntu3.8