在mysql数据库中,我从一台电脑上用MySQL-Front 工具输出sql文件 ,然后在另一电脑上同样用MySQL-Front 工具输入sql文件,可是这样之后,数据库里显示的内容就是乱码了,怎么回事啊?如何解决呢?
还请各位高手百忙之中指教一下,谢谢!

解决方案 »

  1.   

    哪个colmn乱了,可以试试在front中把另一个机器上的colmn改为gbk编码.
      

  2.   

    数据库安装的时候是啥编码,有个选择项的!!一般涉及中文的可设置为gbk
      

  3.   

    jsp+mysql乱码解决
      乱码问题已历来已久,在开源环境下,乱码问题更是令程序员措手不及。本人在Unix(Freebsd)下的一次乱码经历可谓经典,故撰以此文以滋效尤!  我将本次所遇乱码归为三类:  1.页面字符乱码  2.记录显示乱码  3.request传递乱码  以下将对上述三类乱码进行解析:一.页面字符乱码:  1.大小写不一致:org.apache.jasper.JasperException: /top.jsp(1,1) Page directive: illegal to have multiple occurrences of contentType with different values (old: text/html;charset=gb2312, new: text/html;charset=GB2312)  2.间隔不一致:org.apache.jasper.JasperException: /top.jsp(1,1) Page directive: illegal to have multiple occurrences of contentType with different values (old: text/html; charset=GB2312, new: text/html;charset=GB2312)*解决方案:首先,在Apache中增加AddDefaultCharset GB2312或AddDefaultCharset GBK其次,统一使用页面编码定义,如:<%@page contentType="text/html;charset=GB2312"%>*注:GB2312为GBK之子集。二.记录显示乱码:  1.MySQL默人语言为latin1_swedish_ci,即拉丁语,所以取出的中文全是乱码。*解决方案:  1.将charset设为8859_1即:<%@page contentType="text/html;charset=8859_1"%>  这个方法只能暂时缓解字符显示问题,并权益之计。因为8859_1为字节型字库,并非字型字库,故在非全角状态下,将出现半字乱码,表现为“?”。  2.在数据库连接语句中加上?useUnicode=true;characterEncoding=GBK,如:
    jdbc:mysql://localhost/dbname?useUnicode=true;characterEncoding=GBK*注:一般教科书上都会加上localhost:3306,因为默认端口为3306,故可舍去!同时,请使用连接池的朋友注意,在注册xml文件时,是不可以单独出现“;”的,所以必须使用“&amp;”,即:jdbc:mysql://localhost/dbname?useUnicode=true&amp;characterEncoding=GBK。  否则提示出错:Parse Fatal Error at line 213 column 91: The reference to entity "characterEncoding" must end with the ';' delimiter.
    org.xml.sax.SAXParseException: The reference to entity "characterEncoding" must
    end with the ';' delimiter.
    at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Un
    known Source)  也曾有人提意:在MySQL的my.ini文件中加入default-character-set=gbk,本人不赞同此法,因为这样破坏了原有的环境,除非这是MySQL的第一个站点。三.request传递乱码:  1.也许,此时你已经可以正常使用系统了,那么恭喜~乱码问题已经离开你了!但是,大伙通常都没那么走运,乱码问题依旧存在。也许,这时你向数据库添加了一条记录以测试系统,可是此时显示出的还是乱码。那么可以肯定是Request参数传递出错!那么先写个测试语句:<%= request.getParameter(“Para”) %>,OK,果然是乱。那么,现在有两种解决方法。*解决方案:  1.加上这条语句:request.setCharacterEncoding("gbk");
    在一/两页上可行,但此法也非权益之计。  2.注册SetCharacterEncodingFilter类:package org.leo.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;
    import javax.servlet.UnavailableException;
    public class SetCharacterEncodingFilter implements Filter 
    {
        /**
         * The default character encoding to set for requests that pass through
         * this filter.
         */
        protected String encoding = null;
        /**
         * The filter configuration object we are associated with.  If this value
         * is null, this filter instance is not currently configured.
         */
        protected FilterConfig filterConfig = null;
        /**
         * Should a character encoding specified by the client be ignored?
         */
        protected boolean ignore = true;    /**
         * Take this filter out of service.
         */
        public void destroy() 
        {
            this.encoding = null;
            this.filterConfig = null;
        }    /**
         * Select and set (if specified) the character encoding to be used to
         * interpret request parameters for this request.
         *
         * @param request The servlet request we are processing
         * @param result The servlet response we are creating
         * @param chain The filter chain we are processing
         *
         * @exception IOException if an input/output error occurs
         * @exception ServletException if a servlet error occurs
         */
        public void doFilter(ServletRequest request, ServletResponse response,
                             FilterChain chain)
     throws IOException, ServletException 
     {        // Conditionally select and set the character encoding to be used
            if (ignore || (request.getCharacterEncoding() == null)) 
            {
                String encoding = selectEncoding(request);
                if (encoding != null)
                    request.setCharacterEncoding(encoding);
            } // Pass control on to the next filter
            chain.doFilter(request, response);
        }
        /**
         * Place this filter into service.
         *
         * @param filterConfig The filter configuration object
         *                    
         *encoding
         * UTF-8
         *
         */
        public void init(FilterConfig filterConfig) throws ServletException
        {
            this.filterConfig = filterConfig;
            this.encoding = filterConfig.getInitParameter("encoding");
            String value = filterConfig.getInitParameter("ignore");
            if (value == null)
                this.ignore = true;
            else if (value.equalsIgnoreCase("true"))
                this.ignore = true;
            else if (value.equalsIgnoreCase("yes"))
                this.ignore = true;
            else
                this.ignore = false;
        }    /**
         * Select an appropriate character encoding to be used, based on the
         * characteristics of the current request and/or filter initialization
         * parameters.  If no character encoding should be set, return
         * null.
         * 
         * The default implementation unconditionally returns the value configured
         * by the encoding initialization parameter for this
         * filter.
         *
         * @param request The servlet request we are processing
         */
        protected String selectEncoding(ServletRequest request) 
        {
            return (this.encoding);
        }
    }
         * The default implementation unconditionally returns the value configured
         * by the encoding initialization parameter for this
         * filter.
         *
         * @param request The servlet request we are processing
         */
        protected String selectEncoding(ServletRequest request) 
        {
            return (this.encoding);
        }
    }
    web.xml
    加入如下内容:
    <filter>
        <filter-name>SetCharacterEncoding</filter-name>
        <filter-class>org.leo.filter.SetCharacterEncodingFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>SetCharacterEncoding</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>