亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

解決中文亂碼問題的一點疑惑

已經把request的setcharactercoding改成了 utf-8,為什么還要再調用net包里面的java.net.URLEncoder.encode()方法呢???

正在回答

3 回答

package?com.imooc.demo;

import?java.io.UnsupportedEncodingException;
import?java.net.URLDecoder;
import?java.net.URLEncoder;

public?class?UrlEncodeDemo?{

	public?static?void?main(String[]?args)?throws?UnsupportedEncodingException?{
		//URLEncoder編碼中文字符串
		StringBuilder?str_no_encode?=?new?StringBuilder("我是一個好人");
		StringBuilder?str_encode?=?new?StringBuilder(URLEncoder.encode(str_no_encode.toString(),?"utf-8"));
		System.out.println("編碼前字符串:"+str_no_encode);
		System.out.println("編碼后字符串:"+str_encode);
????????//URLDecoder解碼中文字符串
		StringBuilder?str_decode?=?new?StringBuilder(URLDecoder.decode(str_encode.toString(),?"utf-8"));
		System.out.println("解碼后字符串:"+str_decode.toString());
	}

}

這是運行結果:

編碼前字符串:我是一個好人

編碼后字符串:%E6%88%91%E6%98%AF%E4%B8%80%E4%B8%AA%E5%A5%BD%E4%BA%BA

解碼后字符串:我是一個好人

這個是我寫的一個中文編碼,解碼過程的一個案例。你看了案例就會明白,在一些地方,無法使用中文直接存儲,所以就必須按照一定格式,將中文編碼,編碼之后存儲,下次取得時候,再按照一定格式解碼。實際上cookie就是一個無法存儲中文的地方,所以必須將存儲的中文進行編碼,至于已經把request的setcharactercoding改成了 utf-8這個只能設置你在頁面請求的時候的編碼,設置之后你可以在請求接收和傳送中使用中文。這下你懂了吧

3 回復 有任何疑惑可以回復我~
#1

咚冬嗆 提問者

懂了,太感謝你耐心的回答了!十分感謝!
2016-05-28 回復 有任何疑惑可以回復我~
#2

qq_云在風中_0 回復 咚冬嗆 提問者

呵呵,為人解惑,也是為自己解惑。。。
2016-05-28 回復 有任何疑惑可以回復我~

還是不太懂,能說得詳細一點嗎?謝謝!

0 回復 有任何疑惑可以回復我~

前者是設置 ?后者是轉碼


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
JAVA遇見HTML——JSP篇
  • 參與學習       248278    人
  • 解答問題       3215    個

Java Web入門級教程JSP,帶你輕松的學習JSP基礎知識

進入課程

解決中文亂碼問題的一點疑惑

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號