c# mysql 汉字乱码_C#连接MySQL汉字乱码

在使用C#进行B/S系统开发时,遇到与MySQL交互时汉字显示乱码的问题。解决方法包括在视图中设置charset为gbk,并在执行数据库操作时,在MySqlCommand初始化时加入`set names gbk`,确保数据正确编码。通过修改DbHelperMySQL.ExecuteSql方法,成功避免了汉字乱码的情况。
摘要由CSDN通过智能技术生成

使用C#连接MySQL做B/S结构的系统程序出现乱码问题。

解决方法如下:

视图:charset=gbk

控制器:正常...

操作数据库:

StringBuilder strSql = new StringBuilder();

strSql.Append("UPDATE users SET ");

strSql.Append(model.fieldName);

strSql.Append("='");

strSql.Append(model.fieldValue);

strSql.Append("' WHERE userNo='");

strSql.Append(model.userNo);

strSql.Append("'");

return (DbHelperMySQL.ExecuteSql(strSql.ToString()) > 0);

DbHelperMySQL.ExecuteSql源码

public static int ExecuteSql(string SQLString, int Times, params MySqlParameter[] sqlparams)

{

MySqlConnection conn = new MySqlConnection(_connectionString);

MySqlCommand cmd = new MySqlCommand("set names gbk"); //修改了此处。原先MySqlCommand cmd = new MySqlCommand();

try

{

PrepareCommand(cmd, conn, null, CommandType.Text, SQLString, Times, sqlparams);

int rows = cmd.ExecuteNonQuery();

cmd.Parameters.Clear();

return rows;

}

catch

{

throw;

}

finally

{

cmd.Dispose();

if(conn.State == ConnectionState.Open) conn.Close();

conn.Dispose();

cmd = null;

conn = null;

}

}

//经过以上修改后ok!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值