Да!\ w, \ b зависит от набора символов!В моем коде я использую:
setlocale(LC_CTYPE, "cs_CZ");
, чтобы справиться с этим.Это влияет на поведение \ w, \ b в регулярных выражениях, но также strtoupper()
.Если вам также нужна сортировка и сравнение строк для правильной работы, вы должны использовать (в зависимости от вашей страны / региона) что-то вроде:
setlocale(LC_COLLATE, "cs_CZ");
Я также нашел этот сложный способ - он не работал...:)
Итак, , чтобы ответить на ваш оригинальный вопрос - вы не можете повлиять на это с помощью функции header()
, потому что это просто сообщает кодировку браузеру.Вам нужно изменить поведение PHP на сервере, что достигается с помощью приведенных выше команд.