为何是乱码的?才第一页jsp就无法显示了,真不知道如何解决?我是根据一本电子书《JSP实用教程.PDG》上的案例来做的。 
结果运行第一次就出现了乱码,当然,我之前还是很多概念不理解。 
比如,书上说的P278页, 这里我自己不明白的是,什么叫“将所有的beans存放在JSP引擎的classes目录中,所有的JSP页面以及导航条文件存放在JSP引擎的 webapps/Root目录中”,我在电脑的D盘下装了tomcat5.5.23,这样的话,我把这个案例所有出现的jsp文件,java文件,还有那个头head.txt都放在了\tomcat5.5.23\webapps\ROOT下面, 
不知道对了么?? 
以下是我的全部jsp,java文件。 现在打开浏览器,输入127.0.0.1\bookmain.jsp结果,如下: 在IE下也是一样无法正常显示。 
为何这样的呢??
选择查看源文件,发现里面的bookmain.jsp是这样的: 
<HTML> 
<BODY bgcolor =green> 
<tablealign="center"border="0"width="740"height="18"bgcolor=yellowcell spaing="1"> 
<tr> 
<td width="100%"> 
<a href="http://127.0.0.1/Myjsp/showBookList.jsp;jsessionid=EE0CB7AA87FD09DF0158EA32BDB0CF76">?é??????</a> | 
<a href="http://127.0.0.1/Myjsp/userRegister.jsp;jsessionid=EE0CB7AA87FD09DF0158EA32BDB0CF76">???§×??á </a> | 
<a href="http://127.0.0.1/Myjsp/userLogin.jsp;jsessionid=EE0CB7AA87FD09DF0158EA32BDB0CF76">???§???? </a> | 
<a href="http://127.0.0.1/Myjsp/buybook.jsp;jsessionid=EE0CB7AA87FD09DF0158EA32BDB0CF76">???????é </a> | 
<a href="http://127.0.0.1/Myjsp/modifyForm.jsp;jsessionid=EE0CB7AA87FD09DF0158EA32BDB0CF76">???????? </a> | 
<a href="http://127.0.0.1/Myjsp/showOrderForm.jsp;jsessionid=EE0CB7AA87FD09DF0158EA32BDB0CF76">?é?????? </a> | 
<a href="http://127.0.0.1/Myjsp/modifyPassword.jsp;jsessionid=EE0CB7AA87FD09DF0158EA32BDB0CF76">???????? </a> | 
<a href="http://127.0.0.1/Myjsp/modifyMessage.jsp;jsessionid=EE0CB7AA87FD09DF0158EA32BDB0CF76">???????????? </a> |</td>
</tr> 
</table>
<H1> 
<CENTER>欢迎光临网上书店</CENTER> </BODY> 
</HTML>
而实际上,我的bookmain.jsp是根据书上抄下来的。 
如下: 
<%@ page c %> 
<HTML> 
<BODY bgcolor =green> 
<%@ include file="head.txt" %> 
<H1> 
<CENTER>欢迎光临网上书店</CENTER> </BODY> 
</HTML>
我的head.txt是如下: 
<tablealign="center"border="0"width="740"height="18"bgcolor=yellowcell spaing="1"> 
<tr> 
<td width="100%"> 
<a href="<%=response.encodeURL("http://127.0.0.1/Myjsp/showBookList.jsp")%>">书目浏览</a> | 
<a href="<%=response.encodeURL("http://127.0.0.1/Myjsp/userRegister.jsp")%>">用户注册 </a> | 
<a href="<%=response.encodeURL("http://127.0.0.1/Myjsp/userLogin.jsp")%>">用户登录 </a> | 
<a href="<%=response.encodeURL("http://127.0.0.1/Myjsp/buybook.jsp")%>">订购图书 </a> | 
<a href="<%=response.encodeURL("http://127.0.0.1/Myjsp/modifyForm.jsp")%>">修改订单 </a> | 
<a href="<%=response.encodeURL("http://127.0.0.1/Myjsp/showOrderForm.jsp")%>">查看订单 </a> | 
<a href="<%=response.encodeURL("http://127.0.0.1/Myjsp/modifyPassword.jsp")%>">修改密码 </a> | 
<a href="<%=response.encodeURL("http://127.0.0.1/Myjsp/modifyMessage.jsp")%>">修改个人信息 </a> |</td>
</tr> 
</table>
所以我很不解,是哪里出错了呢?? 
希望有朋友能直言指导帮忙一下,感激不尽。我的QQ 35830757,我可以提供远程控制权给能帮忙的朋友检查一下。本来我想附上截图3张的,可是对于csdn不是很熟悉,好像不能实现附件上传功能。

解决方案 »

  1.   

    在文件开头加上下面这行试试
    <%@ page contentType="text/html; charset=UTF-8 "pageEncoding="GBK" %>
      

  2.   

    <%@ page 
    language="java"
    contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"
    %>
    <META http-equiv="Content-Type" content="text/html; charset=GB18030">
      

  3.   

    谢谢网友的支持和解答
    不过,我试验过了ys_wangtao(用技术创造艺术)和king3320x()的方法,没有成功,乱码依旧。
    而ProvidenceZY() 的解释我正在找方法。我的疑问是,怎么样可以让数据库编码和前台编码统一呢。我的是firefox浏览器和IE浏览器都用。用的是MyEclipse 5.5
      

  4.   

    改ie的编码。或者在接受请求的页面上写上:response.setCharacterEncoding("utf-8");
      

  5.   

    (1)bookmain.jsp里面的<%@ page c %>改为<%@ page contentType="text/html;charset=GB2312"  pageEncoding="GBK"%>
    或者试试这个
    (2)把<%@ include file="head.txt" %>改为<jsp:include page="head.txt"/>