我知道需要的URL后加编码参数,但不知道MSSQL的编码参数是什么?

解决方案 »

  1.   

    MSSQL好像可以不用转码,或者在程序中转换吧
      

  2.   

    过滤会降低效率的!!!!!web.xml改为
        <servlet-name>action</servlet-name>
        <servlet-class>com.cn.ConvertCode</servlet-class>     -------原来是ActionServlet ConvertCode.javapackage com.cn;import org.apache.struts.action.*;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import javax.servlet.ServletException;public class ConvertCode extends ActionServlet {
        /**
         * process
         *
         * @param request HttpServletRequest
         * @param response HttpServletResponse
         * @throws IOException
         * @throws ServletException
         * @todo Implement this org.apache.struts.action.ActionServlet method
         */
        protected void process(HttpServletRequest request,
                               HttpServletResponse response) throws IOException,
                ServletException {
            System.out.println("Process!!!");
            request.setCharacterEncoding("GB2312");
            super.process(request,response);
        }}这样以后用POST提交到Action的中文就没有问题了!可是用超链到Action的话就是不行了???怎么办呀!!
    tomcat中可以在server.xml修改
     <Connector URIEncoding="GB2312" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" port="8080" redirectPort="8443" maxSpareThreads="75" maxThreads="150" minSpareThreads="25">
        </Connector>
    -----------注意 URIEncoding="GB2312"请问在jboss中怎么设置(URIEncoding="GB2312"
    )呀!!!急!!!!!!!
      

  3.   

    使用过滤器,而且过滤器的编码和jsp中的一致,就不可能出现这个问题
    如果数据库是GBK的编码,就用GBK;如果数据库是UNICODE的编目,用GBK或者UTF-8都可以
      

  4.   

    升级Jboss到4.0.2,中文问题非常容易解决。
      

  5.   

    import javax.servlet.ServletException;
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import java.io.IOException;//*****************************************************************************
      /**
       * <p>Title: 处理中文问题</p>
       * <p>Description: 将请求的页面的编码转换为指定编码格式</p>
       * <li>web.xml配置参考 </li>
       * ==========================================================================
       * <br>
       *    <filter>
       *       <filter-name>EncodingFilter</filter-name>
       *       <filter-class>com.ite.common.EncodingFilter</filter-class>
       *       <init-param>
       *          <param-name>encoding</param-name>
       *          <param-value>GBK(编码格式)</param-value>
       *       </init-param>
       *   </filter>
       *   <filter-mapping>
       *      <filter-name>EncodingFilter</filter-name>
       *      <url-pattern>/*</url-pattern>
       *   </filter-mapping>
       * ==========================================================================
       * <br>
       * <p>Copyright: Copyright (c) 2003</p>
       * <p>Company: </p>
       * @author 宁郅杰
       * @version 1.0
     */
    //*****************************************************************************public class EncodingFilter implements Filter {
        //参数变量,用于取得servlet配置和编码格式
        private String targetEncoding = "GBK";    public void init(FilterConfig config) throws ServletException {
            //取得配置编码格式
            this.targetEncoding = config.getInitParameter("encoding");
            this.targetEncoding = this.targetEncoding == null ? "GBK" :
                                  this.targetEncoding;
        }    public void destroy() {
            this.targetEncoding = null;
        }    public void doFilter(ServletRequest srequest, ServletResponse sresponse,
                             FilterChain chain) throws IOException,
                ServletException {
            String webEconding = srequest.getCharacterEncoding();
            //请求编码格式为null或者与当前字编码格式不一致,重新设置字符集
            if (webEconding == null ||
                !webEconding.toUpperCase().equals(targetEncoding.toUpperCase())) {
                srequest.setCharacterEncoding(targetEncoding);
            }
            chain.doFilter(srequest, sresponse);
        }
    }试试这个文件,应该可以解决,上面有配置方法