title: fwrite with non ASCII characters
body: <p>Consider the following program:</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;string.h&gt;
  
  int main() {
    char* alpha = "Ω";
    fwrite(alpha, 1, strlen(alpha), stdout);
    return 0;
  }
  </code></pre>
  
  <p>On Windows I get the following output:</p>
  
  <pre><code>��
  </code></pre>
  
  <p>I tried changing the line to this:</p>
  
  <pre><code>char* alpha = "zΩ";
  </code></pre>
  
  <p>and it prints correctly. The output is encoded correctly, just not printing
  correctly:</p>
  
  <pre>
  $ bad | od -tx1c
  0000000  ce  a9
          316 251
  
  $ good | od -tx1c
  0000000  7a  ce  a9
            z 316 251
  </pre>
  
  <p>How can I use fwrite with non ASCII as the first character?</p>
  
  <p>To response to some comments: The source file is correctly formatted as UTF-8, and my code page is also correctly set as UTF-8:</p>
  
  <pre>
  $ chcp.com
  Active code page: 65001
  </pre>