導航:首頁 > 編程語言 > jsurlgb2312編碼

jsurlgb2312編碼

發布時間:2024-12-31 14:27:04

js中文亂碼,我的js是GBK編碼,html<meta http-equiv="Content-Type" content="text/html; charset=gbk" />

希望在前台使用gbk,就可以讓後台輸出的內容編碼為gbk ,比如php中是用iconv()函數。

❷ js中有沒有把十六進制數轉換成Unicode字元的函數

根本不用你編寫十六進制轉換unicode
document.writeln(escape("你好"))
再給你幾個函數encodeURI,encodeURIComponent unescape 方法
這些方法足夠你完成版中文參數傳權遞

❸ 如何使用encodeuricomponent 在js中編碼在java中解碼

地址欄中出現漢字的情況有兩種,一種是漢字出現在URL的路徑部分,一種是漢字出現在URL的傳參的部分,第二種情況的時候必須採用編碼後傳參,接受時解碼的方式完成傳參。js中編碼有escape(),encodeURI(),encodeURIComponent()三個常用的方法,escape()常常用在提交頁面和處理頁面的編碼格式相同的情況下(比如它們都是GB2312),encodeURI()和encodeURIComponent()的用法基本相同,區別在於encodeURIComponent()也對"?"等特殊字元進行編碼。
一開始遇到中文參數的時候,使用encodeURI()進行了一遍編碼,傳過去後,發現解碼出現問題,於是想到可能是編碼方法使用錯誤,於是使用escape()方法,這時發現解碼時拋出isHexDigit異常。藉助網路搜索isHexDigit異常,
發現原來,是escape()方法造成了異常,同時了解了瀏覽器傳遞地址的一些原理,在瀏覽器地址欄里,瀏覽器認為%是個轉義字元,瀏覽器會把%與%之間的編碼,兩位兩位取出後進行解碼,然後再傳遞給處理頁面,
然後由處理頁面進行再次解碼。由此我想到一直使用encodeURI方法是正確的,只是需要使用兩次encodeURI方法,例如encodeURI(encodeURI("中文"));第一次是把中文編碼成%xy的格式,
第二次是對%xy中的%進行編碼,%籂亥焚酵蒔寂鋒檄福漏編碼成%。整個傳參過程大體應該是:提交頁面使用encodeURI(encodeURI("中文"))編碼,把最後的編碼結果%xy傳遞給處理頁面的過程中,瀏覽器獲取URL地址
(注意openModelDialog方法,瀏覽器獲取不到參數編碼)後解碼成%xy,然後把%xy傳遞給處理頁面,處理頁面使用URLDecoder.decode(request.getParameter("參數名"),"UTF-8");完成解碼。
總結:1、漢字出現在URL路徑部分的時候不需要編碼解碼;

❹ 如何用js同時兼容GB2312編碼與UTF-8編碼

然而你這並不是寫JS的問題, 而是Server端編碼沒寫好
但既然你在用JS就可以無視編碼了
所有的字元都可以被\uxxxx替代
比如
'測試' == '\u6e2c\u8a66'
甚至你可以這麽寫代碼
\u0061\u006c\u0065\u0072\u0074('\u6e2c\u8a66')
具體到如何得到這個串, 方法很多, 而且JS自身就能做到, 比如
'測試'.replace(/[\u0100-\uffff]/g,function(S)
{
return '\\' + escape(S).substr(1)
})
所以說你在發布時就把字元串轉換好然後就沒有什麽憂慮了

❺ 求教JS中使用escape將漢字轉換為ascii的好處

escape()和unescape()是一對編碼解碼函數,一般用於URL中非ASCII字元的編碼和解碼!
如:escape("&")返回%26,unescape("%26")返回&,都用十六進制編碼!

這個函數在AJAX技術應用中發送中文字串很有用,特別是AJAX向GB2312編碼的ASP程序發送中文時很有用!如:要將name="東方不敗"發給red.asp(asp為gb2312如果為UTF-8的話就不用編碼)前先做escape(name),這樣發到red.asp時中文就不會亂碼,指接用request接收就行了!

❻ JS對URL字元串進行編碼/解碼分析

雖然escape()、encodeURI()、encodeURIComponent()三種方法都能對一些影響URL完整性的特殊
字元進行過濾。但後兩者是將字元串轉換為UTF-8的方式來傳輸,解決了頁面編碼不一至導致的亂碼問
題。例如:發送頁與接受頁的編碼格式(Charset)不一致(假設發送頁面是GB2312而接收頁面編碼是
UTF-8),使用escape()轉換傳輸中文字串就會出現亂碼問題。
以下是JS下對URL進行編/解碼的各種方法:
escape
方法:返回一個可在所有計算機上讀取的編碼
String
對象。
function
escape(charString
:
String)
:
String
不會被此方法編碼的字元:
@
*
/
+
說明:escape
方法返回一個包含
charstring
內容的字元串值(Unicode
格式)。所有空格、標點、
重音符號以及任何其他非
ASCII
字元都用
%xx
編碼替換,其中
xx
等於表示該字元的十六進制數。
例如,空格返回為「%20」。(字元值大於
255
的字元以
%uxxxx
格式存儲。)
注意:escape
方法不能用來對「統一資源標識符」(URI)
進行編碼。對其編碼應使用
encodeURI

encodeURIComponent
方法。
encodeURI
方法:返回編碼為有效的統一資源標識符
(URI)
的字元串。
function
encodeURI(URIString
:
String)
:
String
不會被此方法編碼的字元:!
@
#
$
&
*
(
)
=
:
/
;
?
+
'
說明:encodeURI
方法返回一個已編碼的
URI。如果將編碼結果傳遞給
decodeURI,則將返回初始的
字元串。encodeURI
不對下列字元進行編碼:「:」、「/」、「;」和「?」。請使用
encodeURIComponent
對這些字元進行編碼。
encodeURIComponent
方法:返回編碼為統一資源標識符
(URI)
的有效組件的字元串。
function
encodeURIComponent(encodedURIString
:
String)
:
String
不會被此方法編碼的字元:!
*
(
)
'
說明:encodeURIComponent
方法返回一個已編碼的
URI。如果將編碼結果傳遞給
decodeURIComponent,則將返回初始的字元串。因為
encodeURIComponent
方法將對所有字元編碼,
請注意,如果該字元串代表一個路徑,例如
/folder1/folder2/default.html,則其中的斜杠也將被
編碼,這樣,當該字元串作為請求發送到
Web
伺服器時它將是無效的。如果字元串中包含多個
URI
組件,請使用
encodeURI
方法進行編碼。
unescape
方法:從用
escape
方法編碼的
String
對象中返回已解碼的字元串。
function
unescape(charString
:
String)
:
String
說明:unescape
方法返回一個包含
charstring
內容的字元串值。所有以
%xx
十六進制形式編碼的
字元都用
ASCII
字元集當中等效的字元代替。(以
%uxxxx
格式(Unicode
字元)編碼的字元用十六
進制編碼
xxxx

Unicode
字元代替。)
注意:unescape
方法不應用於解碼「統一資源標識符」(URI)。請改用
decodeURI

decodeURIComponent
方法。
decodeURI
方法:返回一個已編碼的統一資源標識符
(URI)
的非編碼形式。
function
decodeURI(URIstring
:
String)
:
String
decodeURIComponent
方法:返回統一資源標識符
(URI)
的一個已編碼組件的非編碼形式。
function
decodeURIComponent(encodedURIString
:
String)
:
String
BTW:C#中對URL編碼的方法。。。
編碼:Server.UrlEncode(string)
解碼:Server.UrlDecode(string)
前面三種客戶端編碼都可以用這個方法在後台解碼。

❼ 在jsp中用js接收request中的值,中文亂碼

java web項目中文亂碼一般修改以下幾個地方即可解決問題:
1、設置jsp頁面的編碼格式
2、在web.xml中配置請求攔截器來轉換數據編碼格式
3、設置web容器(比如:tomcat等)的默認編碼格式
4、設置資料庫的編碼格式

另外,需要注意的是post和get請求方式提交數據。get方式請求不會走在在web.xml中配置的請求攔截器,所以url中盡量不要帶有中文,或使用post的請求方式。

希望對你有所幫助!

❽ js頁面是gb2312編碼,怎麼解決jQuery.ajax中文亂碼問題(不能轉換頁面編碼,否則會導致更多問題)

前端:
var str = "張三";
$.ajax({
type:"",
url:"who.action",
data:{"name",encodeURI(encodeURI(str))},
success: ,
dataType
}
伺服器端:
String name = request.getParameter("name");
name = java.net.URLDecoder.decode("name", "gb2312");
關鍵是你要發送的數據要通過兩層的enCodeURI()函數轉換。

閱讀全文

與jsurlgb2312編碼相關的資料

熱點內容
linuxtotalcommander 瀏覽:165
傳票翻打在電腦上下什麼app 瀏覽:39
db2查看資料庫字元集 瀏覽:449
小米私密文件移出後找不到 瀏覽:775
紅底白色的心是什麼app的標志 瀏覽:163
小冤家APP角色怎麼變回家長 瀏覽:822
夢幻西遊合寵模擬器網站是什麼 瀏覽:420
諾基亞930最新版本 瀏覽:201
ps製作主kv文件過大 瀏覽:884
車端面如何編程 瀏覽:279
win10u盤備份時間長 瀏覽:617
文件夾怎麼轉換為pdf 瀏覽:502
2008打開登錄密碼忘記了 瀏覽:771
蘋果7如何授權應用程序 瀏覽:899
怎樣把舊的文檔保存到桌面文件夾 瀏覽:827
wps雲數據如何恢復 瀏覽:496
微信發送過來文件 瀏覽:300
怎麼改合同網站 瀏覽:73
網路鬥地主記牌器怎麼實現的 瀏覽:377
ps鏡像文件製作教程 瀏覽:45

友情鏈接