1. 程式人生 > >使用web.py接收post資料時中文變成xxxx;的問題

使用web.py接收post資料時中文變成xxxx;的問題

使用web.py接收post資料時中文變成&#xxxxx;,英文不變,如下所示。

Page

# post處理函式部分程式碼
def POST(self):
    print '<Handle>post'
    webData = web.input()
    print webData
    if webData:
        data = webData.get('data')
        print data, type(data)

Result

這裡就需要了解一下HTML的轉義序列(Escape Sequence),即字元實體(Character Entity)。
在HTML中,<

>&等有特殊含義,不能直接使用,有些字元在ASCII字符集中沒有定義,所以需要使用轉義序列來表示。
轉義序列分成三部分,&符號(Ampersand),實體(Entity)名稱或#符號加上實體編號,;符號(Semicolon)。
如常用的不斷行空白格的實體名稱為&nbsp;,實體編號為&#160;
實體名稱便於理解和記憶,但不能保證所有瀏覽器能順利識別,特別是新的實體名稱;實體編號各種瀏覽器都能處理。

在python中,使用如下程式碼解決轉義序列問題。

from HTMLParser import HTMLParser
print HTMLParser().unescape('CSDN&#21338;&#23458;'
)

於是在接收post的資料後進行解轉義。

# post處理函式部分程式碼
def POST(self):
    print '<Handle>post'
    webData = web.input()
    print webData
    if webData:
        data = webData.get('data')
        data = HTMLParser().unescape(data)
        print data, type(data)

Result2

相關推薦

使用web.py接收post資料中文變成xxxx;的問題

使用web.py接收post資料時中文變成&#xxxxx;,英文不變,如下所示。 # post處理函式部分程式碼 def POST(self): print '<Handle>post' webData = we

解決nginx在記錄post資料 中文字元轉成16進位制的問題

1. 問題描述nginx 在獲取post資料時候,如果是中文,則轉換成16進位制顯示在日誌檔案中,如下圖所示。Paste_Image.png日誌格式為: log_format postdata '$remote_addr | $request_body | $resp_body';此篇文章記錄下解決此次問題的

JSP頁面提交資料中文亂碼問題的解決

JSP頁面提交含中文的資料時,如果是POST方式提交資料,在request.getParameter("valueName");前面加上 request.setCharacterEncoding("UTF-8"); 便可解決中文資料裡面的問題。如果是GET方式或位址列方式提交

使用HttpWebRequest post資料要注意UrlEncode[http自動轉義]

今天在用HttpWebRequest類向一個遠端頁面post資料時,遇到了一個怪問題,總是出現500的內部伺服器錯誤,通過檢視遠端伺服器的log,發現報的是“無效的檢視狀態”錯誤: 通過對比自己post的__VIEWSTATE和伺服器接收到的__VIEWSTATE的值(通

java Servlet 接收POST資料格式

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //第一種 PrintWriter

Mybatis + Mysql 插入資料中文亂碼問題

近日跟朋友一起建立一個專案,用的是spring+mybatis+mysql。今天碰到一個mybatis向mysql中插入資料時,中文顯示為'???'的問題,拿出來說下。對於資料庫操作中出現的中文亂碼,一般有兩種情況:資料庫本身設定連線資料庫時,jdbc的編碼設定對於第一種情況

C# post資料 出現如下錯誤: System.Net.WebException: 遠端伺服器返回錯誤: (417) Expectation Failed 的解決辦法

問題描述: 服務端環境: linux + apache(lighttpd) + php5 客戶端環境: windowsxp + iis + .net 呼叫時出現如下錯誤: System.Net.WebException: 遠端伺服器返回錯誤: (417) Expectation Failed。     在 S

falcon post資料要注意

value不能是string,否則沒圖哦,而且眼巴巴的瞅著falcon監控頁面,就是沒圖。 如果用python製作的上傳資料指令碼,加上int轉換一下啦。 另外,還要說如果是個list,千萬也要轉換

php 使用webservice從伺服器獲取資料中文亂碼

本小白由於公司erp需求,讓我來搞webservice這塊。 伺服器端為本公司的伺服器,客戶端為自己的主機。 從伺服器的sql資料庫獲取了對於的資料後,從客戶端獲取了。 結果發現中文出現亂碼。 查看了多個地方引數。頁面沒問題,兩邊的引數設定都沒問題的。 webservic

vue-resource post資料碰到Django csrf

公司最近用vue寫前端,用vue-resource遇到的一些問題,現在記錄下來。 vue-resource post資料 this.$http.post('/someUrl',data, [options]).then(function(respon

Ajax Post資料加號變空格的解決辦法

  採用Ajax傳遞資料時,通常會將資料整理為data="var1=abc&var2=def"。而當資料中存在加號(+)或是連線符(&)時,伺服器端接收資料時會有部分資料丟失現象。   分析一下Ajax傳遞資料的格式與Javascript的語法不難發現:  

Java中解決Servlet獲取請求(GET/POST)資料資料亂碼問題

一:Servlet獲取請求資料時亂碼問題解決方法   <1> get方式資料亂碼只能使用下面的方法解決    String username = request.getParameter(

MySQL 在控制檯插入資料,中文亂碼問題的解決

當向 MySQL 資料庫插入一條帶有中文的資料形如  insert into employee values(null,'張三','female','1995-10-08','2015-11-12','Sales',2000,'是個好員工!');  出現亂碼時,可以使用語句

Django學習問題——解決返回JSON資料中文出現亂碼

在嘗試用Django返回JSON資料時,一開始的views.py檔案是這樣寫的: 執行的結果是這樣的: 之後百度一下,找到相關的幾種解決方式,這是我找到的文章連結。第一種方式我嘗試了,執行後發現會

hibernate接收集合資料校驗

自定義ValidList實現list @Data public class ValidList<E> implem

DataOutputStream使用writeBytes寫入中文資料服務端接收到的是亂碼

在開發過程中發現使用HttpURLConnection傳送POST請求,需要同時上傳檔案和其他引數,引數中如果有中文字元,DataOutputStream使用writeBytes,將中文字元傳入的話,服務端接收到的字串會亂碼,但是使用write就不會,故截取了一部分程式碼進行

SSM框架Jsp頁面POST提交的中文資料儲存到資料庫變成亂碼問題的分析

在SSM框架搭建的專案中,當在頁面表單提交(POST方式)漢字資料時,儲存到資料庫中是亂碼,遇到這個情況有以下幾個原因,等到一一排除改正之後,基本上不會出現這個問題了: 這裡我以UTF-8編碼為標準,整個環節都是用UTF-8(也可以使用其它編碼格式,但是要保證編碼一致性)

PHP 在接收POST資料(大陣列或大字串)出現500錯誤

今天伺服器突然出現接收不到資料 ,拿curl寫了個測試指令碼,發現只有小字串可以,收發成功,字串在300K就不行了,伺服器直接報‘500 Internal Server Error。 伺服器是centos6,nginx,php的環境 開始除錯,打開了php的

httpurlconnection使用post傳值web介面接收不到值

最近好久沒有寫部落格了,因為上班的原因。今天想做一個點餐系統,移動版和伺服器版。資料使用json資料進行傳輸。但是碰見一個難題就是如何讓移動端將資料傳輸給伺服器,然後進行更新到資料庫。進入正題: 因為我使用的是httpurlconnection,大家都

解決angular的$http.post()提交資料後臺接收不到引數值問題的方法

寫此文的背景:在學習使用angular的$http.post()提交資料時,後臺接收不到引數值,於是查閱了相關資料,尋找解決辦法。 寫此文的目的:通過上面提到的文章中的解決之道,結合自己的經驗,總結了如下發現。 前端:html,jquery,angular 後端:java,springmvc一、平常使用的p