Перед проверкой переменной регулярным выражением, я перекодировал строку из utf8 в cp1251
preg_match('/^[а-яёА-ЯЁ]+([ `-]*)+[ а-яёА-ЯЁ]+$/',$name
Перестала работать (и с перекодировкой и без) после того, как я изменил кодировку страницы с ANSI на UTF-8 без BOM. Но вот если ввожу строку состоящую только из букв 'а', то проходит проверку)))