關於struts標籤&lthtml:link/&gt中漢字編碼的問題

frank.hu發表於2004-09-13
一個測試頁面:test.jsp

<%@ page contentType="text/html"%>
<%@ page pageEncoding="GBK"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>

<bean:define id="mycountry" value="中國"/>
<p>
<html:link href="http://www.jdon.com" paramId="country" paramName="mycountry">
連結1
</html:link>
</p>


<p>
<html:link href="http://www.jdon.com?mycountry=中國">
連結2
</html:link>
</p>


經過編譯生成的頁面中,"連結1"中兩個漢字變成亂碼,而"連結2"中的漢字卻正常顯示。我檢視了struts的原始碼,發現 的引數都是經過UTF-8編碼後返回的,最後在jsp頁面中生成的漢字編碼是url編碼:%E5%B4等,但我不知道瀏覽器怎麼不會正確識別了,第一種情況生成了亂碼,第二種情況卻正常顯示???


注:所有與struts互動的資料都由filter進行GBK編碼。

請各位高手幫忙分析一下,謝謝。

相關文章