mysql 是 4.0.20版本,编码是iso8859-1, 驱动是用的是mysql-connector-net-5.2.5,现在执行下面的操作,插中文有乱码。我现在的情况是没有权利去改mysql服务器的字符编码,请问在程序里应该如何实现。下面是我的代码,谢谢大侠。
string s = "我我我我我";                    string query1 = @"INSERT INTO api_mt (AUTO_SN, SM_ID, SRC_ID, MOBILES, CONTENT, IS_WAP, URL, SEND_TIME, SM_TYPE, MSG_FMT, TP_PID, TP_UDHI, FEE_TERMINAL_ID, FEE_TYPE, FEE_CODE, FEE_USER_TYPE) 
                                                                                                    VALUES(DEFAULT, 1, 1, '138990', '" + s + "', 0, '', now(), 0, 0, 0, 0, '', '', '', 0)";
                    MySqlCommand cmd = new MySqlCommand();
                    cmd.Connection = conn1;
                    cmd.CommandText = query1;                    conn1.Open();                    cmd.ExecuteNonQuery();                    conn1.Close();

解决方案 »

  1.   

    <appSettings>
        <add key="Connection" value="Server=127.0.0.1;User ID=root;Password=;Database=数据库;CharSet=gb2312;"/>
    </appSettings>
      

  2.   

    指定以下编码,asp.net默认编码是utf-8,而MySQL默认编码是ISO8859-1,所以会出现乱码。
      

  3.   

    这样试试看:<appSettings> 
        <add key="Connection" value="Server=127.0.0.1;User ID=root;Password=;Database=数据库;CharSet=utf-8;"/> 
    </appSettings>用utf-8编码比较好,这样和asp.net的默认编码一致,可以容纳更多的字符。
      

  4.   

    我记得要大学用MySql时,里面可以有中文。一时忘了。不好意思。
      

  5.   

    连接字符集中指定CharSet=gb2312就可以了。