Здравствуйте,
В начале попробую обьяснить разницу между 2 выше описаными способами.
Первый это мета тег в самом HTML коде, его должен по стандартру обработать браузер и после этого показать всю страницу в этой кодировке.
Второй же работает на уровне самого протокола HTTP (на уровень выше), это указывает клиенту (в данном случаи браузер) опять же кодировку и тип содержимого который он получает сейчас в ответ от сервера.
Есть у вас маленькая ошибка, я так понимаю это был код на php, там вставки обозначаются <? или же <?php , но ни как не с просто < ... Просто < это HTML тег...
Теперь об проблеме - имхо у вас проблема на уровне браузера, вы видемо в нем выбрали explicitly показывать все в кодировке Western Europian или же нужно поставить/убрать "авто-определиние" в Internet Explorer-e. Попробуйте проверить ту же страничку с другого браузера (FireFox например) с установками по умолчанию или даже с другого компютера.
Удачи