StringIO.write()をつかうとUnicodeErrorが出るんですけど回避策あったら教えてください。

# -*- coding: utf-8 -*-
from StringIO import StringIO
io = StringIO()
io.write(u'あいうえお')
print io.getvalue(),
## UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)

マニュアルにはstringもunicode stringも使えると書いてあるんだけどなあ。