先描述一下现象:本机的MyEclipse环境下,将工程部署到MyEclipse Tomcat6,从控制台,到jsp页面显示,中文显示都正常,
但是将项目部署到Linux系统下的Tomcat6以后,控制台上,汉字显示是???,jsp页面上汉字显示是 小方块,两种环境连接的数据库是同一个数据库,所以应该不是数据库的原因导致的  本机MyEclipse的设置:
               文件编码保存格式:UTF-8
               Content Type 默认编码格式 UTF-8
               MyEclipse 控制台编码格式 :GB18030  项目中的设置:
             jsp的设置:
                         <%@ page contentType="text/html;charset=UTF-8"%>
                   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
         java的设置:
                    request.setCharacterEncoding("UTF-8");
                       response.setCharacterEncoding("UTF-8");
             web.xml的设置:
                       
        <filter>
                <filter-name>CharacterEncodingFilter</filter-name>
                <filter-class>
                        org.springframework.web.filter.CharacterEncodingFilter
                </filter-class>
                <init-param>
                        <param-name>encoding</param-name>
                        <param-value>UTF-8</param-value>
                </init-param>
                <init-param>
                    <param-name>enabled</param-name>
                    <param-value>true</param-value>
                   </init-param>
                <init-param>
                        <param-name>forceEncoding</param-name>
                        <param-value>true</param-value>
                </init-param>
        </filter>
        <filter-mapping>
                <filter-name>CharacterEncodingFilter</filter-name>
                <url-pattern>/*</url-pattern>
        </filter-mapping>
      
      服务器为linux,tomcat6 
      conf/server.xml的设置
                
 <Connector port="80" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" 
                URIEncoding="GBK" />    ---这里无论是默认不写,GBK,UTF8,都不行

解决方案 »

  1.   

    没放到过linux下过,你把java设这编码改下,rawResponse.setContentType("text/html;charset=utf-8");
      

  2.   

    统一字符集 UTF-8 
    然后DEBUG看 数据从后台出来的时候是否乱码
    页面乱码是否由于AJAX
      

  3.   

    汉字显示是???,
      看样子是ASCII的超集字符被转成ASCII,超出的部分字符丢失了。
      所以检查一下控制台本身使用什么编码。jsp页面上汉字显示是 小方块
      看样子像解码正确,但是没有匹配的字体。
      你这是在Linux上的浏览器访问还是Win下的?
      

  4.   

    统一字符集 UTF-8  看看
      

  5.   

    是jsp页面上的汉字的问题 还是  数据库 汉字的问题?
    如果是直接写在jsp页面上的汉字 应该是和 linux字符集有关系吧
      

  6.   

    eclipse -- Text file encoding -- UTF-8JSP
    <%@ page language="java" pageEncoding="UTF-8" isErrorPage="false" %>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />你设Tomcat的server.xml中的URIEncoding干什么
      

  7.   

    代码应该没啥问题吧!个人感觉Linux字符集是不是有问题?
      

  8.   

    我也遇到类似问题,你设置下tomcat的编码格式。<Connector port="8080"   URIEncoding="UTF-8">
    在URIEncoding在设置相应的编码格式
      

  9.   

    tomcat的home目录下的conf/server.xml中
      

  10.   

    你看一下 /etc/sysconfig/i18n 文件中 LANG 的内容是什么?另外,请把你的小方块复制过来回复一下,同时说明一下原本应该是什么字。
      

  11.   

    换换浏览器,IE6,7和IE8还有FF下页面传递数据的编码不一样,其中FF是UTF-8,IE6,7是ISO-8859-1,需要自己接收后转换,将所有页面及TOMCAT设置为UTF-8之后要考虑SERVER转换传输数据
      

  12.   

    看哈你linux服务器中lang 的环境设置你改成utf8就行了
      

  13.   

    cat /etc/sysconfig/i18n
    LANG="zh_CN.UTF-8"
    SUPPORTED="zh_CN.GB18030:zh_CN.GB2312:zh_CN.UTF-8:zh:en_US.UTF-8:en_US:en:ja_JP.UTF-8:ja_JP:ja"
    SYSFONT="lat0-sun16"
    SYSFONTACM="utf8"
      

  14.   

    与代码无关,IE下传输数据无论是否设置UTF-8,最后统一编码LATIN1,所以要在后台转换new String(fileName.getByte("UTF-8"),"ISO-8859-1"),確保所有頁面代碼服務器設置均為UTF-8后考慮相信我樓主,我為中文名的事情搞的都快吐了。這是完美的解決方案
      

  15.   

    已经在JSP中加了
    <%@ page language="java" pageEncoding="UTF-8" isErrorPage="false" %>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    还是不行
      

  16.   

    to: wingtrace
    我是在windows上的浏览器打开的另外,如何检查linux下tomcat控制台的编码设置呢?
      

  17.   

    应该不是数据库的问题,我在控制台直接打印
     System.out.println("测试中文");
    打印出来都是问号
      

  18.   

    tomcat中加上URIEncoding="utf-8" useBodyEncodingForURI="true" 试下..
      

  19.   


    不是响应后的结果是乱码,是转移工程的时候发现编码问题这个一来是工作空间的字符集编码、Content Type 的字符集编码、文件编码保存格式的字符集编码都要 统一
      

  20.   

    这个没见过,一般就是MyEclipse字符集的问题
      

  21.   

    設置以下tomcat 裏的配置文件 就可以了
      

  22.   

    注意在doget,dopost最前边加上这个request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");然后实在还是不行就加个过滤器,网上有的是。