неразрывный пробел utf-8 0xc2a0 и preg_replace странное поведение
В моей строке у меня есть неразрывный пробел utf-8 (0xc2a0), и я хочу заменить его на что-то другое.
Когда я использую
$str=preg_replace('~\xc2\xa0~', 'X', $str);
все работает хорошо
Но когда я использую
$str=preg_replace('~\x{C2A0}~siu', 'W', $str);
неразрывный пробел не найден (и заменен).
Почему? Что не так со вторым регулярным выражением?
Формат\x{C2A0}
правильно, также я использовалu
флаг.