title: C++ setlocale for any region
body: <p>I've written a little program for testing purposes because when using cout, the German letters ü ö ä ß were not displayed as they should but rather rubbish was given out on the console. However, using these lines</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;locale&gt;
  
  using namespace std;
  
  int main()
  {
      setlocale(LC_ALL, "German");
      cout &lt;&lt; "üüü ööö äää ßßß" &lt;&lt; '\n';
      system("pause");
      return 0;
  }
  </code></pre>
  
  <p>have solved this problem, at least as far as the German letters go. When I tried the same for Russian, i. e.</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;locale&gt;
  
  using namespace std;
  
  int main()
  {
      setlocale(LC_ALL, "RUSSIAN");
      cout &lt;&lt; "Кирилица" &lt;&lt; '\n';
      system("pause");
      return 0;
  }
  </code></pre>
  
  <p>this doesn't work anymore. What is going wrong here? Am I missing something about the setlocale function? My goal is to adapt the respective program to the writing system that is used, for example Cyrillic like aboe or Chinese or whatever. </p>