mysql 5.0 乱码_解决MySQL 5.0乱码问题

ASP.NET + MYSQL 最烦恼的就是编码的问题了..., 遇中文就出现乱码, 调了很久, 今天终于解决编码问题了..

从MySQL 4.1开始引入的多语言支持确实很棒,不过操作MySQL数据库会造成乱码,即使是设置过了表字符集也是如此。   网上找了很多遍一直没有找到解决方案, 直到今天看到一篇文章, 终于解决了我长久以来的困扰, http://info.mysql.cn/php/2006/0208/74.html

MySQL 4.1以上的字符集支持(Character Set Support)有两个方面:字符集(Character set)和排序方式(Collation)。对于字符集的支持细化到四个层次: 服务器(server),数据库(database),数据表(table)和连接(connection)。

其实问题就出在connection连接层上。解决方法是在发送查询前执行一下下面这句:SET NAMES 'utf8';

它相当于下面的三句指令:

SET character_set_client = utf8;

SET character_set_results = utf8;

SET character_set_connection = utf8;

具体实现:

#region MySQL设置编码

public static void MySQLSetCharcter(com.common.db.DataMySQLAccess da)

{

da.ExecuteSql("SET NAMES 'utf8';");

}

#endregion MySQL设置编码

///

/// 更新一条数据

///

public void Update(object model)

{

try

{

//更新时先执行这句, 再执行更新

MySQLSetCharcter(da);

StringBuilder strSql = new StringBuilder();

strSql.Append("update meirongwang.MenuLable set ");

strSql.Append("Title=?Title,");

strSql.Append("URL=?URL,");

strSql.Append("pid=?pid,");

strSql.Append("rootid=?rootid,");

strSql.Append("orderbase=?orderbase");

strSql.Append(" where id=?id");

MySqlParameter[] parameters = {

new MySqlParameter("?id", MySqlDbType.Int32),

new MySqlParameter("?Title", MySqlDbType.String)};

parameters[0].Value = obj.id;

parameters[1].Value = obj.Title;

da.ExecuteSql(strSql.ToString(), parameters);

}

catch (MySqlException sqlex)

{

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值