Странно, вроде как эта функция должна работать. Но тем не менее она не работает и возвращает false, версию PHP проверил, а запрос "SET NAMES cp1251" в том же скрипте работает прекрасно. Где траблы?
А я думал, что 45 это переходная между 4 и 5. Тогда почему все же не работает?! Как диагностировать? функция mysql_set_charset("cp1251") возвращает false. А вот как определить по какой причине?