title: Python print failing to print Unicode and string same time
body: <p>The below are few cases I observed. Like to know why Python's print is behaving like this, and possible fixes. </p>
  
  <pre><code>&gt;&gt;&gt; print "%s" % u"abc" # works
  &gt;&gt;&gt; print "%s" % "\xd1\x81" # works
  &gt;&gt;&gt; print "%s %s" % (u"abc", "\xd1\x81") # Error
  </code></pre>
  
  <p>For the above (last), I'm getting: <code>UnicodeDecodeError: 'ascii' codec can't decode byte 0xd1 in position 0: ordinal not in range(128)</code></p>
  
  <p>But, this works</p>
  
  <pre><code>&gt;&gt;&gt; print "%s %s" % ("abc", "\xd17\x81") # works
  </code></pre>
  
  <p>And when I do</p>
  
  <pre><code>&gt;&gt;&gt; print "%s %s" % (u"abc", u"\u0441") # Error
  </code></pre>
  
  <p>Its raising <code>UnicodeEncodeError: 'charmap' codec can't encode character u'\u0441' in position 4: character maps to &lt;undefined&gt;</code></p>