免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4647 | 回复: 8
打印 上一主题 下一主题

求助xmlrpc汉字传输问题! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-27 00:03 |只看该作者 |倒序浏览
学习做了一段代码如下(服务端):
#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)执行异常

请指点此类汉字传输入问题,非常感谢!

论坛徽章:
0
2 [报告]
发表于 2008-07-27 07:57 |只看该作者
s=u'测试'

论坛徽章:
0
3 [报告]
发表于 2008-07-27 09:03 |只看该作者

回复 #2 redskywy 的帖子

谢谢,使用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
就报错了!
哪位达人指点一下,谢谢!

论坛徽章:
0
4 [报告]
发表于 2008-07-28 02:52 |只看该作者
decode

论坛徽章:
0
5 [报告]
发表于 2008-07-28 08:56 |只看该作者
文件编码和本地编码都要查看下哦。

论坛徽章:
0
6 [报告]
发表于 2008-08-07 08:45 |只看该作者
>>> 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吧

论坛徽章:
0
7 [报告]
发表于 2008-08-07 09:18 |只看该作者
奇怪,我直接
s='你好‘
print s
直接打出来就是你好,没有做过任何处理

论坛徽章:
0
8 [报告]
发表于 2008-08-07 09:19 |只看该作者
看来应该是跟locale有关的

论坛徽章:
0
9 [报告]
发表于 2008-09-13 00:42 |只看该作者

问题解决

感谢4楼,使用DECODE可以解决了!谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP