JSP開發 wap頁面編碼問題

請看下面這段代碼。
<%@ page contentType="text/vnd.wap.wml;charset=utf-8" %>
<% response.setContentType("text/vnd.wap.wml;charset=utf-8");%>
<?xml version="1.0" ?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"

"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="test2" title="漢字接收">
<%
request.setCharacterEncoding("utf-8");
String name=request.getParameter("name");
String id=request.getParameter("id");
%>
<p>姓名:<%=name%></p>
<p>id:<%=id%></p>
<do type="prev" label="返回上頁">
<prev/>
</do>
</card>
</wml>

剛學J2ME,想做個小的手機博客,自己玩玩,隨便弄了個頁面竟然一堆亂碼?

tomcat 和 Nokia Mobile Browser 4.0都是默認設置。
我的操作步驟:
1. 直接用記事本編輯的保存上面的代碼,在Nokia Mobile Browser 4.0中 漢字 顯示 全是亂碼。效果如下:
[img]http://www.iteye.com/upload/attachment/116140/adb327b6-ea72-3b63-b655-333131b47d64.jpg[/img]
2. 把上面的代碼另存爲utf-8的編碼(記事本默認的是ANSI), 在Nokia Mobile Browser 4.0中,僅僅是“姓名”顯示的是亂碼,其他的漢字顯示正常, 效果如下:
[img]http://www.iteye.com/upload/attachment/116142/92cb61d3-4aa6-342f-bd1d-a2131993acf6.jpg[/img]
3. 把代碼另存爲 unicode 的編碼, 顯示的如下錯誤:
[img]http://www.iteye.com/upload/attachment/116144/9522701f-dada-3e5b-9269-19b1bab37094.jpg[/img]
4. 把<%@ page contentType="text/vnd.wap.wml;charset=utf-8" %>改爲 charset="gb2312",頁面默認的保存編碼ANSI,效果通2一樣。
5. 把<%@ page contentType="text/vnd.wap.wml;charset=utf-8" %>改爲 charset="gb2312",頁面默認的保存編碼utf-8,效果如下:
[img]http://www.iteye.com/upload/attachment/116146/62adbd6b-ec35-37ec-9240-6de61bfeb877.jpg[/img]
6. 刪除<% response.setContentType("text/vnd.wap.wml;charset=utf-8");%>這一語句,同時<%@ page contentType="text/vnd.wap.wml;charset=utf-8" %>改爲 charset="gb2312",出現如下錯誤:
[img]http://www.iteye.com/upload/attachment/116148/45de40c3-6baa-341b-9c02-095c3b72196b.jpg[/img]

爲什麼會出現這種情況,我實在搞得暈暈乎乎了。

我的理解是:
charset=utf-8用來設置頁面的顯示編碼;
pageEncoding="utf-8"用來設置對文件的讀取應採用的編碼;
response.setContentType("text/vnd.wap.wml;charset=utf-8");用來設置服務器響應的告訴瀏覽器應該按照什麼樣的編碼顯示;
request.setCharacterEncoding("utf-8");用來設置參數傳遞的URL編碼。

[b]Qusetion:[/b]
1。 Tomcat以什麼編碼讀取我的文件。
2。 Tomcat讀取我的jsp文件有用什麼編碼生成java 文件,接着又以什麼編碼生成和讀取類似servlet的class文件。
3。 怎樣才能正確的顯示。
再網上查了半天,都發現不能解決我的問題,我主要想了解一下程序再運行過程中的編碼與解碼過程。

有會的幫給講解下。謝謝!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章