1. 程式人生 > >前臺頁面的資料傳輸到後臺接收出現亂碼問題的解決方法

前臺頁面的資料傳輸到後臺接收出現亂碼問題的解決方法

js中編碼的方式有三種

escape() 方法

escape方法以Unicode格式返回一個包含傳入引數內容的string型別的值。 Escape方法會將傳入引數中所有的空格、標點符號、重音字元以及其它任何非ASCII字元替換為%xx的編碼形式,其中xx與其所表示的字元的16進位制數表示形式相同。如空格字元的16進製表示形式為0x20,則此時xx應為20,即escape(‘ ’) 返回“%20”。

encodeURI()方法

encodeURI方法返回一個經過編碼的URI。如果將encodeURI方法的編碼結果傳遞給decodeURI方法作引數,則能得到原始的未編碼的字串。需要注意到是encodeURI方法不編碼如下字元":", "/", ";", and "?"。如果想要編碼這些字元,請使用encodeURIComponent方法。

encodeURIComponent()方法

encodeURIComponent方法返回一個編碼過的URI。如果將encodeURIComponent方法的編碼結果傳遞給 encodeURIComponent方法作引數,則能得到原始的未編碼的字串。因為encodeURIComponent方法會編碼所有的字元,所以如果待編碼的字串是用來表示一個路徑(如/dir1/dir2/index.htm)時,就一定要小心使用了。‘/’符號會被其編碼之後,將不再是一個有效的路徑識別符號,所以不能被web伺服器正確地識別。當字串包含一個單獨的URI component(指?後面的請求引數)的時候,請使用此方法。

escape方法並不編碼字元+。而我們知道,在使用者提交的表單欄位中,如果有空格,則會被轉化為+字元,而伺服器解析的時候則會認為+號代表空格。由於這個缺陷,escape方法並不能正確地處理所有的非ASCII字元,你應當儘量避免使用escape方法,取而代之,你最好選擇 encodeURIComponent()方法。

escape()不編碼的字元:@*/+

相對於使用escape方法,使用encodeURI方法會顯得更專業一些。當你需要編碼一整個URI的時候,你可以使用此方法,因為URI中的合法字元都不會被編碼轉換。需要注意到是字元’也是URI中的合法字元,所以也不會被編碼轉換。

encodeURI() 不編碼的字元: [email protected]#@{content}*()=:/,;?+'

encodeURIComponent方法在編碼單個URIComponent(指請求引數)應當是最常用的。需要注意到是字元’也是URI中的合法字元,所以也不會被編碼轉換。

encodeURIComponent()不編碼的字元: ~!*()'

後臺解碼:String dataformat = new String(data.getBytes("iso8859-1"),"utf8");

相關推薦

前臺頁面資料傳輸後臺接收出現亂碼問題的解決方法

js中編碼的方式有三種 escape() 方法 escape方法以Unicode格式返回一個包含傳入引數內容的string型別的值。 Escape方法會將傳入引數中所有的空格、標點符號、重音字元以及其它任何非ASCII字元替換為%xx的編碼形式,其中xx與其所表示的字元的1

兩個頁面跳轉傳中文參數,中文出現亂碼解決方法

ber dex arm1 ring ces lin cat 兩個 .html // encodeURI 編碼 window.location.href(encodeURI("zhongji2.html"+"?"+"parm1="+parm1+"&parm2="+pa

jsp頁面,在瀏覽器端顯示時會出現亂碼解決方法

這種亂碼的原因是沒有在頁面裡指定使用的字符集編碼,JSP頁面中出現了中文字元,而預設的ISO-8859-1字符集中無中文字元,解決方法:只要在頁面開始地方用下面程式碼指定字符集編碼即可,在JSP頁面中指定編碼方式(gb2312),和瀏覽器解碼方式設定相同,即在頁面的第一行加上: <

ecshop 進入後臺登入帳號出現亂碼解決方法

進入後臺登入帳號出現如果生成亂碼 MySQL server error report:Array ( [0] => Array ( [message] => MySQL Query Error ) [1] => Array ( [sql] => SELECT `ec_salt

php寫入數據到mysql數據庫中出現亂碼解決方法

names .com http image alt ima utf8 情況 mysql 亂碼情況: 在選擇數據庫前加入一句代碼即可 mysql_query("set names utf8"); 最後效果 php寫入數據到mysql數據庫中出現亂碼解決方法

對於get請求中文引數出現亂碼解決方法

對於get請求中文引數出現亂碼解決方法有兩個: 修改tomcat配置檔案新增編碼與工程編碼一致,如下:   <ConnectorURIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="H

SpringMVC雜記(二) 使用@ResponseBody出現亂碼解決方法

使用@ResponseBody出現亂碼解決方法  1、 RequestMapping @Controller @RequestMapping(value = "/test") public class TestController { @ResponseBody @

C / C++ 讀取檔案出現亂碼解決方法

  昨天用C語言寫了一下檔案讀取,發現讀出來的全是亂碼。這肯定是文字編碼不同導致的。      據我查證,C語言的漢字編碼方式是由你電腦決定的,所以需要看一下你電腦是什麼編碼,來確定你需要把文字檔案改成什麼編碼。 1.win+R,開啟執行框之後輸入c

Ubuntu 安裝Navicat,介面出現亂碼解決方法

2、在終端進入安裝包的檔案,解壓安裝包 <pre name="code" class="plain">sudo tar xzvf 安裝包名 進入解壓後打資料夾,直接執行start_navicat 檔案,即可安裝使用Navicat,然後有可能出現介面亂碼的情況

Android讀取xxx.properties配置檔案中文出現亂碼解決方法

android讀取assets中的配置檔案英文沒問題,但是中文會出現亂碼的問題,前提配置檔案已經是utf-8的格式了 出現問題的程式碼: @Override public void s

使用ajax請求 返回Json出現亂碼解決方法

1:在使用ajax請求後臺訪問資料的資料,後臺返回的資料是亂碼,帶??問號的亂碼,之前還一直沒有遇到過,在這裡記錄整理一下,貼出解決程式碼! (1):前臺使用ajax ,已經設定返回的結果為json格式!ajax程式碼不貼出來了! (2):後臺程式碼 @RequestMap

UE正常開啟文字檔案出現亂碼解決方法

開啟C:\Users\Administrator\Application Data\IDMComp\UltraEdit\Uedit32.ini 將[Settings]中 Auto Detect UTF8=1改成 Auto Detect UTF8=0

eclipse開啟文字檔案出現亂碼解決方法

eclipse中文字檔案有時候開啟是亂碼,用記事本開啟就是正常的。 文字編碼有的時候是UTF-8,有的時候是gb2312,eclipse有時候不能自動識別。 因此需要在開啟的文字檔案中設定一下編碼:如

SpringMVC初識,後臺傳給前臺頁面資料的4種方法

前三種 返回值都是String 返回檢視名稱@RequestMapping(value="/test.do",method = RequestMethod.POST) public String checknameIsExist(@RequestParam("sid") String sid,M

javaWeb從前臺資料後臺漢字亂碼問題的解決

1.如果請求方式是post請求,該怎麼解決亂碼問題? 只需要在controller層的方法中的第一行加入request.setCharacterEncoding("utf-8");必須是第一行,要不會報錯。  2.如果請求時get請求,該怎麼解決亂碼問題呢? 修

SSM 後臺返回資料前臺,json中文亂碼解決方法

場景: 在實際運用場景中,當前臺發起請求後,我們需要從後臺返回資料給前臺,這時,如果返回的資料中包含中文,則經常會出現在後臺查詢出來都是好好,但是傳輸回去就莫名的亂碼了,而且,我們明明已經在 web.

jsp頁面中url傳參到後臺出現亂碼解決方案

在使用get方式URL中傳遞中文,到後臺會出現亂碼的情況。中文字元變為"?" 如:我的jsp頁面程式碼為:<a href="${_currConText}/lhRanking/ranking.do?investors_code=${inves.investors_co

java 前臺頁面傳到後臺 亂碼解決方案

js程式碼: var entName = encodeURIComponent(encodeURIComponent("中飯")); java程式碼 String entName =  this.getRequest().getParameter("entName");

springmv 後臺傳給前臺頁面資料的4種方法

前臺jsp程式碼 <p style="color:red;font-size:20px;"> <c:if test="${not empty error

前臺拼接json資料java後臺接收

首先介紹前臺拼接json格式 function saveRuleScript(row){  var RuleScriptArr = [];//存放參數規則  var RuleScriptFreArr = [];//存放處理頻率型別  var dealFre = $("#de