我的系统是VISTA HOME PREMIUM,浏览器 IE7.0,装了TOMCAT 5.0,端口设为8888,本地部署了多个应用(Struts1.0)。在IE 7.0中请求http://localhost:8888/jobsWeb/jobs/,  Jsp页面上所有的汉字乱码都是???.在页面上我已经加入了page contentType="text/html; charset=GBK". 
JSP页面上从SQLSERVER2000(sp4)中读出的数据每次必须要手工选择编码为"简体中文"才能正常显示.
请教这是什么原因,该如何解决?谢谢!

解决方案 »

  1.   

    在UltraEdit-32下看,该JSP页的编码格式DOS该页面的开头段代码如下:
    <%@   page contentType="text/html; charset=GBK"      import="com.client.jobs.*,com.util.*,java.util.*,java.sql.*,zxctc.tool.*,java.text.*,java.lang.String"
    %>
    <%
            Debug.info("Start loading job_plan_list.jsp...................................");
            String DAUHtml="";
            DAUHtml="<input type='checkbox' id='checkAll' name='checkAll' onclick='checkAll()'>Select All&nbsp;&nbsp;"
                    + "<a href='javascript:void remove()'>Delete</a>&nbsp;&nbsp;"
                    + "<a href='javascript:void create()'>Add Plan</a>&nbsp;&nbsp;"
                    + "<a href='javascript:void update()'>Edit Plan</a>&nbsp;&nbsp;";
            String plan_title="";
            String plan_conten="";
            String finished_conten="";
            String project_name="";
            String creator_id="";
            String complete_degree="";
            String complete_id="";
            String auditing_id="";
            int WeekParameter=0,d1=0,d2=0,d3=0,d11=100,d22=100,d33=100;
            Calendar calendar = Calendar.getInstance();        if(request.getParameter("plan_title")!=null){
                    plan_title=StringTools.toHTML(request.getParameter("plan_title"));
            }
            if(request.getParameter("plan_conten")!=null){
                    plan_conten=StringTools.toHTML(request.getParameter("plan_conten"));
            }
            if(request.getParameter("finished_conten")!=null){
                    finished_conten=StringTools.toHTML(request.getParameter("finished_conten"));
            }
            if(request.getParameter("project_name")!=null){
                    project_name=StringTools.toHTML(request.getParameter("project_name"));
            }
            if(request.getParameter("creator_id")!=null){
                    creator_id=StringTools.toHTML(request.getParameter("creator_id"));
            }
            if(request.getParameter("complete_degree")!=null){
                    complete_degree=StringTools.toHTML(request.getParameter("complete_degree"));
            }
            if(request.getParameter("complete_id")!=null){
                    complete_id=StringTools.toHTML(request.getParameter("complete_id"));
            }
            if(request.getParameter("auditing_id")!=null){
                auditing_id=StringTools.toHTML(request.getParameter("auditing_id"));
            }
            if(request.getParameter("parameter0")!=null){
            WeekParameter=Integer.parseInt(request.getParameter("parameter0"));
            }
            if(request.getParameter("parameter1")!=null){
            d11=Integer.parseInt(request.getParameter("parameter1"));
            }
            if(request.getParameter("parameter2")!=null){
            d22=Integer.parseInt(request.getParameter("parameter2"));
            }
            if(request.getParameter("parameter3")!=null){
            d33=Integer.parseInt(request.getParameter("parameter3"));
            }
    %>
    <html><head><title>XX工程进度管理 DLGA MIS</title>
    就是"XX工程进度管理 DLGA MIS"这段文字,在IE7显示为"????"的乱码,手动调整编码->简体中文  照样还是乱码"????",请教这是什么原因?
      

  2.   

    该JSP页面上从SQLSERVER2000(sp4)中读出的数据(用getString(1)取的。字段为varchar型)每次必须要手工选择编码为"简体中文"才能正常显示,怎么才能使页面的编码默认为GBK?
      

  3.   

    JSP页面上有如下代码:
    function update(){
            var url="job_plan_view_update.action?cid=";
            var checkOne=document.all("checkOne");
            if(typeof(checkOne)=="undefined"||checkOne==null){return;}
            var checkBoxGroupValue=getCheckBoxGroupValue(checkOne);
            var checkBoxGroupValueArr=checkBoxGroupValue.split(";");
            if(checkBoxGroupValueArr.length>1){
            alert("一次操作只能选中一条记录进行修改!");
            }else if(checkBoxGroupValueArr[0]==""){
            alert("没有选中记录,无法进行修改!");
            }else{
            url+=checkBoxGroupValueArr[0];
            window.open(url,'job_plan','height=450, width=550, toolbar=no, menubar=no, scrollbars=yes, resizable=no, location=no, status=no');
            }
            }这部分代码中的汉字在IE 7里也是乱码  "??????",右键点击 "查看源代码",JSP页面上汉字全为????,不包括从数据库中读出的数据!
      

  4.   

    ll_0605即楼主,呵呵!
    JSP页面上手工输入的汉字即使 点右键->编码->简体中文 后始终还是乱码即"?".请教这是设么原因?
      

  5.   

    你先不要在页面上接受传来的参数试试看,如果这样都不能显示的话那就是IE有问题了,如果可以显示中文的话那就不关IE的事,那就是你传的参数没有转码了~~~
      

  6.   

    to yijie1206688() :抛开传接参数不说,我的在JSP页面上自己敲进去的汉字也是乱码“???”啊,
      

  7.   

    <%@page contentType="text/html; charset=gbk"%><html>
    <head>
    <title>中国人</title>
    </head>

    <body>
    <%
    out.println("我是中国人");
     %>
    </body>
    </html>
    就这样写的话也的乱码吗???
      

  8.   

    to yijie1206688() :按你的提示写一个简单JSP不乱码,看来我得JSP分解一点点放进去找到问题所在了。
      

  9.   

    首页登录后,只要一提交到类里,再forward到JSP页面上,不管什么汉字就都是乱码了 ,请教这是什么原因?
      

  10.   

    一般会在servlet里用过滤器吗?
      

  11.   

    加这个类:
    package org.battwofame.hellojava.telservlet.filter;
    import java.io.IOException;
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;public class CharacterEncodingFilter implements Filter { public void destroy() {
    } public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain chain) throws IOException, ServletException {
    request.setCharacterEncoding("gbk");
    chain.doFilter(request, response);
    } public void init(FilterConfig arg0) throws ServletException {
    }
    }
    在web.xml的最上面加:
    <filter>
       <filter-name>CharacterEncodingFilter</filter-name>
       <filter-class>org.battwofame.hellojava.telservlet.filter.CharacterEncodingFilter</filter-class>
      </filter>
      <filter-mapping>
       <filter-name>CharacterEncodingFilter</filter-name>
       <url-pattern>/*</url-pattern>
      </filter-mapping>
    你只要直接把这考过去,换个包名就可以用
      

  12.   

    在我的程序的MaiServlet中原来用的是request.setCharacterEncoding("ISO-8859-1"),改成;
            request.setCharacterEncoding("GB2312")后,在Tomcat控制台上显示的汉字都是乱码了;
      

  13.   

    to yijie1206688() :你有MSN或QQ吗?
      

  14.   

    to yijie1206688() :
       还是不行啊,没解决问题,乱码依旧!麻烦你看下我这个帖子吧
    http://community.csdn.net/Expert/topic/5695/5695233.xml?temp=.6167261
      

  15.   

    vista的区域和语言都是中文啊
      

  16.   

    <%@ page contentType="text/html; charset=GBK" %>
    <html>
    <head>
    <title>某市公安</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head><body topmargin="0" align="center" leftmargin="0">
    <table width="800" border="0" cellspacing="0" cellpadding="0" align="center">
      <tr> 
        <td><img src="images/001_01.jpg" width="408" height="58"></td>
        <td><img src="images/001_02.jpg" width="392" height="58"></td>
      </tr>
      <tr> 
        <td><img src="images/001_03.jpg" width="408" height="182"></td>
        <td><img src="images/001_04.jpg" width="392" height="182"></td>
      </tr>
      <tr> 
        <td><img src="images/001_05.jpg" width="408" height="26"></td>
        <td background="images/001_06.jpg" width="392" height="26">
          <table width="392" height="26" border="0" cellspacing="0" cellpadding="0">
            <tr> 
              <td>&iexcl;&iexcl;</td>
              <td style="font-size:12px; font-family:"Arial, Helvetica, sans-serif"&pound;&raquo;color:#000000; align="center" width="42"">用户名</td>
              <td width="120"> 
                <form method="post" action="index.action">
                <input type="text" name="mc" style="width:110px; height:16px; font-size:12px; font-family:"Arial, Helvetica, sans-serif"; align="center"size="20">
              </td>
              <td style="font-size:12px; font-family:"Arial, Helvetica, sans-serif"&pound;&raquo;color:#000000; align="center" width="29"">密码</td>
              <td width="120"> 
                <input type="password" name="mm" style="width:110px; height:16px; font-size:12px; align="center"" size="20">
              </td>
              <td width="36"><input type="submit" name="Submit" value="&#30331;&#24405;">
                </form>
              </td>
              <td width="19">&iexcl;&iexcl;</td>
            </tr>
          </table>
        </td>
      </tr>
      <tr> 
        <td colspan="2" background="images/001_07.jpg" height="260"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="800" height="260">
            <param name=movie value="images/index.swf">
            <param name=quality value=high>
            <param name="wmode" value="transparent">
            <embed src="images/index.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="800" height="260" wmode="transparent">
            </embed></object></td>
      </tr>
      <tr> 
        <td colspan="2" background="images/001_08.jpg" height="24" style="font-size:12px; font-family:"Arial, Helvetica, sans-serif"&pound;&raquo;color:#000000; align="center"">
    Copyright&copy;2007某市公安局版权所有</td>
      </tr>
      <tr bgcolor="#FFFFFF"> 
        <td colspan="2" height="12">&nbsp;</td>
      </tr>
    </table>
    </body>
    </html>
    上述代码是部署在TOMCAT 5.0.28下的某应用程序的首页!!!上页内的所有汉字在TOMCAT 5.0, ie7下全部都是乱码 "????",页面上的FLASH也不能正常播放了,手工修改页面的编码->简体中文也还是乱码,这到底是怎么回事?至少我得知道几种可能性吧?!
      

  17.   

    在tomcat根目录下.\conf\server.xml文件中找到如下<Connector port="8888"…
    把URIEncoding='UTF-8' 加上去
    试看看
      

  18.   

    不起作用,我试了URIEncoding='GBK2312'照样乱码!
      

  19.   

    <%@ page contentType="text/html; charset=GBK" %>
    <html>
    <head>
    <title>某市公安</title>
    </head>
    <body topmargin="0" align="center" leftmargin="0">
    <table width="800" border="0" cellspacing="0" cellpadding="0" align="center">
      <tr> 
        <td><img src="images/001_01.jpg" width="408" height="58"></td>
        <td><img src="images/001_02.jpg" width="392" height="58"></td>
      </tr>
      <tr> 
        <td><img src="images/001_03.jpg" width="408" height="182"></td>
        <td><img src="images/001_04.jpg" width="392" height="182"></td>
      </tr>
      <tr> 
        <td><img src="images/001_05.jpg" width="408" height="26"></td>
        <td background="images/001_06.jpg" width="392" height="26">
          <table width="392" height="26" border="0" cellspacing="0" cellpadding="0">
            <tr> 
              <td>&iexcl;&iexcl;</td>
              <td style="font-size:12px; font-family:"Arial, Helvetica, sans-serif";color:#000000; align="center" width="42">用户名</td>
              <td width="120"> 
                <form method="post" action="index.action">
                <input type="text" name="mc" style="width:110px; height:16px; font-size:12px; font-family:"Arial, Helvetica, sans-serif"; align="center"size="20">
              </td>
              <td style="font-size:12px; font-family:"Arial, Helvetica, sans-serif";color:#000000; align="center" width="29">密码</td>
              <td width="120"> 
                <input type="password" name="mm" style="width:110px; height:16px; font-size:12px; align="center"" size="20">
              </td>
              <td width="36"><input type="submit" name="Submit" value="登录">
                </form>
              </td>
              <td width="19"></td>
            </tr>
          </table>
        </td>
      </tr>
      <tr> 
        <td colspan="2" background="images/001_07.jpg" height="260"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="800" height="260">
            <param name=movie value="images/index.swf">
            <param name=quality value=high>
            <param name="wmode" value="transparent">
            <embed src="images/index.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="800" height="260" wmode="transparent">
            </embed></object></td>
      </tr>
      <tr> 
        <td colspan="2" background="images/001_08.jpg" height="24" style="font-size:12px; font-family:"Arial, Helvetica, sans-serif"; color:#000000; align="center"">
    Copyright&copy; 2007某市公安局版权所有</td>
      </tr>
      <tr bgcolor="#FFFFFF"> 
        <td colspan="2" height="12">&nbsp;</td>
      </tr>
    </table>
    </body>
    </html>这个页上的所有汉字都是乱码"???",FLASH也播放不了了,请问什么原因?
      

  20.   

    乱码的问题解决了,在servlet的doPost()方法里加了如下代码: 
    response.setContentType("text/html; charset=GBK");//07/08/08 解决了中文乱码题码,但页面FLASH也播放不了了,请问什么原因?怎么设置IE?
      

  21.   

    加个response.setContentType("text/html; charset=GBK")这样的东西居然也能解决问题,可见我的过滤器你根本没用好~~~
      

  22.   

    我确实用了,但TOMCAT报错,没调过去:(
    页面FLASH也播放不了了,框框左上角一个红X,请问什么原因?怎么设置IE 7?
      

  23.   

    IE 7 下JSP页面FLASH播放不了了,框框左上角一个红X,请问什么原因?怎么设置IE 7?
    谢谢
      

  24.   

    转了只是把?变成了正常的汉字,但FLASH还是不能播放!
      

  25.   

    utf-8的jsp上的汉字通过url传到JAVA类里后是乱码  "??? ",这该具体如何转码?