encodeURI來解決URL傳遞時的中文問題

2021-06-29 06:35:12 字數 771 閱讀 4555

在ajax瀏覽器來進行傳送資料時,一般它所預設的都是utf-8的編碼.

使用jquery中所提供的方法來做操作

encodeuri

function verify() );

}說明:1 .encodeurl函式主要是來對uri來做轉碼,它預設是採用的utf-8的編碼.

2. utf-8編碼的格式:乙個漢字來三個位元組構成,每乙個位元組會轉換成16進製制的編碼,同時新增上%號.

這裡要做兩次encodeuri的原因以及說明::

具體說明其中具體的原理分析如下,假設頁面端輸入的中文是乙個「中」,按照下面步驟進行解碼

1.第一次encodeuri,按照utf-8方式獲取位元組陣列變成[-28,-72-83],對位元組碼陣列進行遍歷,把每個位元組轉化成對應的16進製制數,這樣就變成了[e4,b8,ad],最後變成[%e4,%b8,%ad]

2.第二次encodeuri,把陣列最後變成[%25e4,%25b8,%25ad]然後就把處理後的資料[%25e4,%25b8,%25ad]發往伺服器端,

當應用伺服器呼叫getparameter方法,getparameter方法會去向應用伺服器請求引數

應用伺服器最初獲得的就是傳送來的[%25e4,%25b8,%25ad],應用伺服器會對這個資料進行urldecode操作,urldecode操作和encodeurl操作是相反的操作,處理結果就是[%e4,%b8,%ad],並把這個值返回給getparameter方法

然後再在伺服器端中呼叫相應的url轉碼方法或者是函式  就可以把資料還原成最初頁面傳送過來的中文「中」了。

呼叫encodeURI來解決亂碼問題的原因

encodeurl函式主要是來對uri來做轉碼,它預設是採用的utf 8的編碼.utf 8編碼的格式 乙個漢字來三個位元組構成,每乙個位元組會轉換成16進製制的編碼,同時新增上 號.假設頁面端輸入的中文是乙個 中 按照下面步驟進行解碼 1 第一次encodeuri,按照utf 8方式獲取位元組陣列變...

flask 解決url總是not found問題

解決的辦法就是改埠,如果會命令列操作的話,也可以殺死5000埠,不過這次以改埠為例子。下面開始演示具體問題及解決流程 encoding utf 8 from flask import flask defindex return index page hello def hello return he...

Android上面通過URL來啟動本地應用

場景 通過瀏覽器開啟url或者掃瞄軟體掃瞄url來啟動本地應用 activity配置 android allowbackup true android icon drawable ic launcher android name com.fyfeng.webviewtest.mainactivity...