title: getch() returns wrong characters
body: <p>I'm experiencing problems with the <code>getch()</code> function of the <code>curses</code> library.
  Suppose we have the following program:</p>
  
  <pre><code>import curses
  
  def main(stdscr):
      while 1:
          c = stdscr.getch()
          stdscr.addstr(chr(c) + ": " + str(c) + "\n")
  curses.wrapper(main)
  </code></pre>
  
  <p>Let's run this, and enter the following characters: <code>a</code>, <code>&lt;backspace&gt;</code>, <code>œ</code></p>
  
  <p>Then the output is: </p>
  
  <pre><code>a: 97
  ć: 263
  Å: 197
  </code></pre>
  
  <p>As you see, the <code>a</code> character is taken correctly.
  However, the  others are not. I just want to get the backspace <code>'\b'</code> and the unicode character <code>œ</code>, but we get something else.</p>
  
  <p>Why does <code>getch()</code> behave this way, and how can I get the desired behaviour?</p>
  
  <p><strong>EDIT:</strong></p>
  
  <p>Let me emphasize that's it's not an issue with printing the characters, but with reading the characters. Namely, running <code>stdscr.addstr('œ')</code> indeed prints <code>œ</code>.</p>