2013-10-27 31 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