Saying that a file you have saved in ASCII is really UTF-8 should work in all circumstances.
But make sure that the file really is only 7-bit ASCII and contains no extended characters like é, £, or ¢, because they are not in pure ASCII and are encoded differently in Unicode and old-style 256-character character sets.
UTF-8 is one of the three official encodings of the Unicode character set. “Languages” are not subsets of Unicode (or UTF-8). Rather almost all “scripts” currently used are covered by UTF-8. A single script may cover more than one languages, and in some cases the same language is commonly written in more than one script.
As an example, versions of the Latin script are used for English, French, Icelandic, Ojibway, Estonian, and for many other languages. Azeri, the language of Azerbaijan, has been written in three different scripts: the Perso-Arabic script, the Latin script, and the Cyrillic script.
In the early days of the Internet, before Unicode, people published on the net using many different character sets. Hence it was necessary to indicate in coding which character set was being used, so that the browser could attempt to select appropriate fonts and the correct characters with the fonts it was using.
Unicode covers all the characters in all the character sets officially recognized on the web and is supported by 99% and more of the computers in use, so is usually the obvious character set to use. But HTML entities might be used and were used in pages coded using an old character set to indicate Unicode characters not part of that old set. This works just as well and even a little better than using Unicode when the main text is in a script where three or even four bytes would be necessary to encode most of the characters used on the web page. For example, in a page set up in the Russian script, most of the characters would take three bytes each in UTF-8.
Accordingly the old character sets are still used, either from force of habit by the programmer(s) or for sake of efficiency. HTML must continue to recognize that these older character sets are still being used and therefore character sets must continue to be identified in coding HTML.