The codecs.open() function in 2.6 is very similar to the built-in open() function in python3.x (which makes sense since Py3k strings are always Unicode). For future proofing your code in case it is used under Py3k you could do the following.
import sys
if sys.version_info[0] < 3:
import codecs
_open_func_bak = open # Make a back up, just in case
open = codecs.open
with open('myfile', 'w', encoding='utf-8') as f:
f.write(u'\u5E73\u621015')
Now your code should work the same in both 2.x and 3.3+.