config文件中设置 requestEncoding="gb2312"
            responseEncoding="gb2312"

解决方案 »

  1.   

    居然还是没用,我的代码
            string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" +
                                 "SERVER=localhost;" +
                                 "DATABASE=seechn;" +
                                 "UID=root;" +
                                 "PASSWORD=zlk;" +
                                 "OPTION=3";        OdbcConnection MyConnection = new OdbcConnection(MyConString);
            string str = "select * from ClientInfo";
            OdbcCommand MyCommand = new OdbcCommand(str, MyConnection);
            MyConnection.Open();
            OdbcDataReader myreader = MyCommand.ExecuteReader();
            DataTable mytable = new DataTable();
            mytable.Load(myreader);
            GridView1.DataSource = mytable;
            GridView1.DataBind();
      

  2.   

    我用mysql的dll也是碰到这个问题,获取的时候中文是乱码
      

  3.   

    也有可能是服务器那边的设置错误。参考:http://0123.blog.163.com/blog/static/47883120070228589235/
      

  4.   

    目前情况如下: 
    1、使用不同的管理工具,中文内容显示有乱码有正常(用哪个写进去的哪个就正常) 
    2、在SHELL界面中,通过set names ''可以正常select/update/insert中文内容 
    3、在C#程序中select/update/insert就会出乱码 
    4、尝试过将数据库/表/字段均设置为utf8 
    5、尝试过在my.ini文件中配置 default-character-set = gbk --------------------------------------------------------------- http://xue3.bokee.com/viewdiary.12320231.html 如果所有设置都已经改为GB2312的情况下,还会出现乱码问题,可能你的数据库是经过导入的.那么可以尝试下面的办法:  
    在你的数据库链接的php页面下找到类似的这样一段:  
    $this->dbh = @mysql_connect($dbhost,$dbuser,$dbpassword);  
    在它的前面先执行一次connection的字符集更改:  
    $this->query("SET NAMES 'gb2312'");  
    如果问题解决了,则可以肯定是你的数据库经过导入出现了问题. 
    --------------------------------------------------------------- 由程序insert/update的纪录在控制台select后可以正常显示吗? 
    如果同样有问题,可能你前端程序用的是另一种编码如utf8,后台数据库用gbk 
    在和数据库交互时,c#要做编码转换。 
    --------------------------------------------------------------- 问题已经解决,头疼了几天... 
    详细说明如下: 误区: 
    近几天来搜索网上资源介绍理论上的可选编码方案为:gb2312/gbk/utf8等支持双字节的编码类型均可,实际试验过程中发现并不是这样的。 
       A、大家跟风都想使用utf8,但UTF8在处理中文时并非想像中的理想,Select/Update/Insert均出现乱码; 
       B、gbk字符集远大于gb2312,是第二首选字符集,但在Server/Database设定为GBK字符集后,在程序中连接都不成功(not support),更不用说操作; 最终解决方案: 
    1、选用gb2312编码 
    2、设置my.ini文件中的默认编码 
       分别在[mysql]和[mysqld]配置段中增加或修改default_charater_set=gb2312 
    3、创建数据库时编码选用gb2312 
    4、创建表时编码选用gb2312,Collation选用gb2312_chines_ci(gb2312_bin没有去试验) 
    5、针对具体需要存放中文的字段设定编码选用gb2312,Collation选用gb2312_chines_ci(gb2312_bin没有去试验) 改进: 
    如果确实需要存放gbk编码字符,请在连接成功后执行set names gbk 建议使用Navicat MySQL工具进行管理,在gb2312的情况下,此工具显示非常正常。
      

  5.   

    我准备做C# 联接mysql 前几天找了这个资料备用(忘记来源了) 希望对你有所帮助
      

  6.   

    数据库的库,表,字段都要设置成"GB2312"
    链接字符串也要加charsct='gb2312'