Раз код писали в блокноте, то, скорее всего, в Windows. Значит сохранили в кодировке windows-1251.
Когда пишете тэг правильно, <meta charset="utf-8">
, то указанная вами кодировка utf-8 не совпадает с реальной кодировкой текста, отображаются вопросики.
Когда пишете тэг неправильно, то он игнорируется и кодировка распознаётся правильно, отображается нормальный текст.
Кодировка, указанная в тэге, должна соответствовать кодировке, в которой сохранён текст.