title: CString format with Unicode returns wrong character
body: <p>I'm trying to format a CString using the following code:</p>
  
  <pre><code>const wchar_t * wch = L"μ";
  CString str;
  str.Format(_T("%c"), wch[0]);
  </code></pre>
  
  <p>However, instead of str having the value of "μ" it actually is set to "¼". When I debug it, it recognizes wch as "μ".</p>
  
  <p>Further, if I do:</p>
  
  <pre><code>const wchar_t * wch = L"μ";
  CString str;
  str.Format(_T("%s"), wch);
  </code></pre>
  
  <p>it gives str with value "¼". (It doesn't seem to show up but there should be a superscript L after the ¼.)</p>
  
  <p>The compiler is set to use unicode, as else where in the program I am able to call _T() and have it evaluate correctly, just not when formatting a CString.</p>
  
  <p>What am I doing wrong?</p>
  
  <p>*<em>Edit: *</em> Doing more debugging shows that the CString Format method's arglist receives a value of "Ü_"</p>