2013-10-27 34 views
0

我试图提取GBK字符集的,并将其转移到我的服务器,等待被存储在数据库,然后萃取显示为GBK但我越来越怪异的文字 代码是在PythonGBK字符集JSON

headers = {'content-type': 'application/json;charset=gbk'} 
     r = requests.post(url, data=json.dumps(payload), headers=headers) 
     print(r.text) 

我获取#104#é#è²#103#S-2013ç§å¬åº§Ãºº

有没有解决方法?我必须存储并显示它,然后将我的页面的字符集设置为gbk。这会工作吗?

PHP代码

$obj = json_decode(file_get_contents("php://input"),true); 
+0

尝试'打印(r.content.decode( 'GBK'))' – falsetru

回答

1

好像响应不包含编码信息或有无效信息。

检查r.encoding

尝试先解码内容。

print(r.content.decode('gbk')) 

如果不行尝试以下解决方法(Python的3.3):

>>> text = 'é红è²#104#é»è²#103#S-2013ç§å¬å级' 
>>> text.encode('latin1').decode('utf-8') 
'酒红色#104#黑色#103#S-2013秋冬升级' 
+0

好吧,现在开始测试吧,只是好奇,我只能存储和解码只有当我从数据库中检索它?或者我可以存储一个gbk? – CodeGuru

+0

因为主要目的是在php上显示而不是python – CodeGuru

+0

@RainbowHat,对不起,我不明白你的评论问题。而且我不擅长PHP。 – falsetru