cómo imprimir palabras chinas en mi código ... usando python

Este es mi código:

print '哈哈'.decode('gb2312').encode('utf-8')

... y se imprime:

SyntaxError: Non-ASCII character '\xe5' in file D:\zjm_code\a.py on line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

¿Cómo imprimo '哈哈'?

Actualizar: Cuando uso el siguiente código:

#!/usr/bin/python
# -*- coding: utf-8 -*-

print '哈哈'

... imprime鍝堝搱. Eso no es lo que quería conseguir.

Mi IDE es Ulipad, ¿es esto un error con el IDE?

Segunda actualización

Este código imprimirá los caracteres correctamente:

#!/usr/bin/python
# -*- coding: utf-8 -*-


print u'哈哈'.encode('gb2312')

... y cuando uso esto:

#!/usr/bin/python
# -*- coding: utf-8 -*-

a='哈哈'
print a.encode('gb2312')
Traceback (most recent call last):
  File "D:\zjm_code\a.py", line 5, in <module>
    print a.encode('gb2312')
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)

...o...

#!/usr/bin/python
# -*- coding: utf-8 -*-

a='哈哈'
print unicode(a).encode('gb2312')
Traceback (most recent call last):
  File "D:\zjm_code\a.py", line 5, in <module>
    print unicode(a).encode('gb2312')
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)

... no funciona ¿Cómo imprimiría la variablea ¿apropiadamente?

Gracias

Respuestas a la pregunta(6)

Su respuesta a la pregunta