python传递中文的问题

python传递中文的问题

这是我写的一个从服务器上获取文件列表的程序,
这是server
from SimpleXMLRPCServer import SimpleXMLRPCServer,SimpleXMLRPCRequestHandler

print
print '**************************************'
print '*  WREIDC  server   0.3              *'
print '*  Listen Port:  %d                *' % int(4949)
print '**************************************'
print
print '   The EIDC Poist service has started.   '

import xmlrpclib
import httplib
import string,os,sys

class   MM :

    def getFile(self,file):
        print 'please wait......'
        size=os.path.getsize(file)
        filename=open(file).name.split("/")[-1]
        print filename+str(size)
        return filename+" "+str(size)
   
    def getDir(self,dir):
        s=""
        dirs=os.listdir(dir)
        for f in dirs:
            s=s+f+"\n"
        print s
        return s
        

if __name__ == '__main__':
    server = SimpleXMLRPCServer(("0.0.0.0", 4949))

    tt = MM()
    server.register_instance(tt)
    server.serve_forever()

这是client

import xmlrpclib
server = xmlrpclib.ServerProxy("http://127.0.0.1:4949/")
print server.getFile("e:/进度安排.doc")
print server.getDir("e:/book")

在客户端输入含有中文的路径时,会出错ProtocolError: <ProtocolError for 127.0.0.1:4949/: 500 Internal error>
而且从服务器上return文件列表也不行,只要含有中文的就返回不了,请哪位高手帮忙解决解决
转为utf-8或unicode试试,
将传输的内容进行base64编码;
要么编码同服务器一致,要么就对传输数据进行转码。
这个问题解决了。return s.decode('cp936')就可以了