a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > JSP > 正文

JSP對URL鏈接中的中文亂碼處理方法總結

2024-09-05 00:22:28
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了JSP對URL鏈接中的中文亂碼處理方法總結,注意一下各瀏覽器的兼容顯示情況,需要的朋友可以參考下
 

IE缺省對URL后面的參數是不編碼發送的,但是Tomat缺省是按ISO8859-1來進行URL編碼的,因此才會出錯。

方法一:

對URL鏈接進行二次編碼:

<a onclick="javascript:window.open(encodeURI(encodeURI('./DispatchAction.do?efFormEname=FKRY0001&code_type=中文參數')))">測試</a>

或者單獨對參數進行二次編碼:

var code_type = "中文參數";code_type = encodeURI(code_type); code_type = encodeURI(code_type);window.open("./DispatchAction.do?efFormEname=FKRY0001&code_type="+code_type);Service:String code_type = request.getParameter("code_type");//這句話一定要寫,因為如果不寫的話編碼就是%E5%A6%88%code_type = java.net.URLDecoder.decode(code_type,"UTF-8");

有人提出為什么要在客戶端對字符串重復編碼兩次呢?

如果因為項目需要,不能指定容器使用何種編碼規則來解碼提交的參數,比如:需要接收來自不同頁面,不地編碼的參數內容時。 (又或者是開發人員被這有點復雜的東西搞得暈頭轉向,不懂得如何正確的去做好這接收參數的工作)

這個時候,在客戶端對參數進行二次編碼,可以有效的避開“提交多字節字符”的這個棘手問題。

因為第一次編碼,你的參數內容便不帶有多字節字符了,成了純粹的 Ascii 字符串。(這里把編第一次的結果叫成 [STR_ENC1] 好了。[STR_ENC1] 是不帶有多字節字符的)

再編一次后,提交,接收時容器自動解一次(容器自動解的這一次,不管是按 GBK 還是 UTF-8 還是 ISO-8859-1 都好,都能夠正確的得到 [STR_ENC1])

然后,再在程序中實現一次 decodeURIComponent (Java中通常使用 java.net.URLDecoder.decode(***, "UTF-8"))就可以得到想提交的參數的原值。

簡單來說,就是Tomcat服務器會自動幫你做一次URLDecode,再加上你自己在Service代碼里面寫的URLDecode,一共就是兩個Decode了。既然要兩次Decode,當然就需要兩次Encode了。或許你會問,干脆只Encode一次,然后在java代碼里不Decode,呵呵,這個也是不行的,這其實也就是為什么要進行兩次Encode的原因吧。

方法二:(經測試不支持IE8)

http://xxx.do?ptname=中文參數String strPtname = request.getParameter("ptname");strPtname = new String(strPtname.getBytes("ISO-8859-1"), "UTF-8");

方法三:

<%@ page contentType="text/html;charset=gb2312" %><a href="ds.jsp?url=<%=java.net.URLEncoder.encode("編碼的是這里","GB2312")%>">點擊這里</a><%//request.setCharacterEncoding("GBK");if(request.getParameter("url")!=null){str=request.getParameter("url");str=java.net.URLDecoder.decode(str,"GB2312");str=new String(str.getBytes("ISO-8859-1"));out.print(str);}%>

方法四:
Tomcat中設置server.xml中的Connector熟悉URIEncoding="UTF-8",確保解碼格式與編碼格式統一。



注:相關教程知識閱讀請移步到JSP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人黄大片视频在线观看 | 日本在线视频一区二区三区 | 天天操天天舔天天爽 | 日韩精品一区二区三区中文在线 | 欧美成人在线免费观看 | 久久午夜电影 | 人人澡人人澡 | 国产亚洲女人久久久久毛片 | 日本老妇高潮乱hd | 精品一区二区三区在线视频 | 在线视频一区二区 | 91精品国产综合久久久久久蜜月 | 国产精品视频综合 | 韩国三级中文字幕hd久久精品 | 日韩精品一区二区三区四区 | 超碰偷拍| 亚洲aaaaaa特级| 欧美一区二区视频在线 | 午夜精品网站 | 国产精品不卡 | 亚州av| 国产精品久久久久久久久久久新郎 | 欧美亚洲视频在线观看 | 欧美性受 | 成人黄色在线观看 | 四虎影音| 欧美成人免费视频 | 亚洲激情在线播放 | 在线播放黄色网址 | 欧美一区二区免费 | 久久久久久久久久久网站 | 欧美一区二区三区成人精品 | 影音先锋中文字幕在线 | 日本一区二区三区视频在线观看 | 欧美日韩一区不卡 | 国产黄色在线播放 | 欧美在线观看免费观看视频 | 九九热在线免费视频 | 欧美激情一区二区三区蜜桃视频 | 欧美自拍视频在线观看 | 中文字幕亚洲一区二区三区 |