Возможно, вы не указали правильный набор символов в вашем HTML-файле. Спецификация (спасибо @Jukka) отправляет браузер в режим UTF-.8; при его отсутствии необходимо использовать другие средства для объявления документа UTF.8.
Если у вас есть доступ к конфигурации вашего сервера, вы можете убедиться, что сервер не отправляет неверную информацию о наборе символов. Смотрите, например Как изменить кодировку по умолчанию на UTF-8 для Apache?
Если у вас есть доступ только к вашему HTML, добавление этого метатега в заголовок документа должно помочь:
<meta http-equiv='Content-Type' content='Type=text/html; charset=utf-8'>
или, как указывает @Mathias, новый HTML 5
<meta charset="utf-8">
(действительно только в том случае, если вы используете тип документа HTML 5, против которого больше нет веских аргументов, даже если вы не используете разметку HTML 5.)