It depends on the particular console application you are using. It should support one of the Unicode UTFs, but you should check with the documentation.
It could be possible that the utility correctly outputs the text in UTF-8 but does not write the
BOM (Byte Order Mark, please see below) which is used by text editors (for example) to know which UTF to use during loading of the text. You can investigate it. The BOM consists of three bytes: 0xEF, 0xBB, 0xBF. (Of course, not in text I've shown below, but in binary form, exactly three bytes.) If BOM is missing, you may want to insert it at the very beginning.
You may want to work without the BOM. You can use text editor having "UTF-8 text without BOM" options or read the text programmatically using, say, the constructor of
System.IO.StreamReader
with enforced encoding, like this:
using (System.IO.StreamReader reader = new System.IO.StreamReader(fileName, System.Text.Encoding.UTF8))
{
}
Please see:
http://msdn.microsoft.com/en-us/library/system.io.streamreader.aspx[
^],
http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx[
^].
About Unicode, UTFs and BOM, please see:
http://en.wikipedia.org/wiki/Unicode[
^],
http://unicode.org[
^],
http://unicode.org/faq/utf_bom.html[
^],
http://en.wikipedia.org/wiki/UTF-8[
^],
http://en.wikipedia.org/wiki/Byte_order_mark[
^].
—SA