求助xmlrpc汉字传输问题!

求助xmlrpc汉字传输问题!

学习做了一段代码如下(服务端):
#coding=gbk
import SimpleXMLRPCServer
def log(logstr):
    print logstr
    return True
server=SimpleXMLRPCServer.SimpleXMLRPCServer(("localhost",1111))
server.register_function(log)
server.serve_forever()
调试代码如下:
server=ServerProxy("http://localhost:1111")
s='test'
server.log(s)执行正常
s=测试'
server.log(s)执行异常

请指点此类汉字传输入问题,非常感谢!
s=u'测试'
谢谢,使用u'测试'确实可以,有没有办法将一个普通的字串转成unicode码的函数,试了一下:
>>> type(unicode('test','utf-8'))
<type 'unicode'>
这个倒是好的
>>> unicode('abc测试','utf-8')
Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 0-1: invalid data
就报错了!
哪位达人指点一下,谢谢!
decode
文件编码和本地编码都要查看下哦。
>>> s='测试'
>>> server.log(s)

Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    server.log(s)
  File "C:\Python25\lib\xmlrpclib.py", line 1147, in __call__
    return self.__send(self.__name, args)
  File "C:\Python25\lib\xmlrpclib.py", line 1437, in __request
    verbose=self.__verbose
  File "C:\Python25\lib\xmlrpclib.py", line 1201, in request
    return self._parse_response(h.getfile(), sock)
  File "C:\Python25\lib\xmlrpclib.py", line 1340, in _parse_response
    return u.close()
  File "C:\Python25\lib\xmlrpclib.py", line 787, in close
    raise Fault(**self._stack[0])
Fault: <Fault 1: "<class 'xml.parsers.expat.ExpatError'>:not well-formed (invalid token): line 6, column 15">


>>> s=s.decode('gb2312').encode('utf8')
>>> server.log(s)
True
>>>

最好用UTF8吧
奇怪,我直接
s='你好‘
print s
直接打出来就是你好,没有做过任何处理
看来应该是跟locale有关的
感谢4楼,使用DECODE可以解决了!谢谢