title: Unable to set UTF-16 as locale
body: <p>I'm unable to set UTF-16, or any form thereof, as locale on my Linux box. The sample code for this:</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;string.h&gt;
  #include &lt;locale.h&gt;
  
  using namespace std;
  
  int main()
  {
      char *ret = std::setlocale(LC_ALL, "en_US.utf16");
      if (ret) {
          cout &lt;&lt; ret &lt;&lt; endl;
      }
      return 0;
  }
  </code></pre>
  
  <p>The output doesn't print the locale set, which means that desired locale was not set.</p>
  
  <p>The list of supported locales on the box does not include any form of UTF-16 encoding. I checked this via <code>locale -a</code></p>
  
  <pre><code>$ uname -a
  Linux developer.com 2.6.32-279.1.1.el6.x86_64 #1 SMP Tue Jul 10 11:24:23 CDT 2012 x86_64 x86_64 x86_64 GNU/Linux
  </code></pre>
  
  <p>Does something need to be installed to use UTF-16 on the box?</p>