Хедер с кодировкой не может быть установлен, если в поток уже отдались символы контента. Если вы включите вывод ошибок и предупреждений, то должны увидеть предупреждение вроде "(...) headers allready sent". Это будет означать, что где-то до подключения header.php влез пробел, перевод строки, или что-то еще. Возможно, также, Вы сохранили документ с BOM. Тогда откройте его нотпадом++ и сохраните как "UTF-8 без BOM"
И, кстати, конструкция $$var вроде не будет обращаться к переменной $test, потому что название переменной "test=hello". Вот если $var = 'test', тогда $$var=3 будет то же самое, что $test=3.