Using Python 2.6, I am trying to pickle a dictionary (for Chinese pinyin) which contains both Unicode characters in the range 128-255 and 4-byte Unicode characters. I get allergic reactions from pickle.dump() under all protocols.

Here’s a simple test program:
Code:
# Program 1 (protocol 0), program 2 (protocol 2)
  PickleFile = codecs.open('PFile.utf', 'w', 'utf-8')    
  Str1 = u'lǘelü' 
  pickle.dump(Str1,
...