UTF-8 text that lacks a byte-order mark and non-ASCII characters is ASCII (ASCII is the American Standard Code for Information Interchange, a 7-bit encoding which was expanded upon with different characters to form the various ANSI encodings). There's no means of distinguishing the two, and it was intentionally designed that way.
You may want to consider simply using UTF-16 as your encoding if you want the text to be recognized the same in all programs which support both ANSI encodings and Unicode encodings. The greater file size doesn't tend to cost too much on filesystems using 4 KiB block sizes, because very large files fit more effectively and very small files had to use a whole block previously anyway. The only significant concern with UTF-16 is that old programs (especially some that ran only on Win9x) are incapable of reading it.