UnicodeDecodeError (once again) with format() but not with concatenation
<p>I have a class chunk with text fields <code>title</code> and <code>text</code>. When I want to print them, I get (surprise, surprise!) <code>UnicodeDecodeError</code>. It gives me an error when I try to format an output string, but when I just concatenate text and title and return it, I get no error:</p>

<pre><code>class Chunk:
  # init, fields, ...

  # this implementation will give me an error
  def __str__( self ):
    return u'{0} {1}'.format ( enc(self.text), enc(self.title) )

  # but this is OK - all is printed without error
  def __str__( self ):
    return enc(self.text) + enc(self.title)

def enc(x):
  return x.encode('utf-8','ignore') # tried many combinations of arguments...


c = Chunk()
c.text, c.title = ... # feed from external file
print c
</code></pre>

<p>Bum! Error!</p>

<pre><code>return u'{0} {1}'.format ( enc(self.text), enc(self.title) )
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 2844: ordinal not in range(128)
</code></pre>

<p>I think I used all the possible combinations of <code>encode</code>/<code>decode</code>/<code>utf-8</code>/<code>ascii</code>/<code>replace</code>/<code>ignore</code>/...</p>

<p>(the python unicode issue is <em>really</em> irritating!)</p>
