为什么写入数据库的中文是乱码?
调试时,可以看到我传进去的参数都是中文。但是写道数据库中就是乱码了。。。。
插入数据库代码如下:
try
{
m_conn.Open();
m_cm = new SqlCommand();
m_cm.Connection = m_conn;
m_cm.CommandType = CommandType.StoredProcedure;
m_cm.CommandText = "updateUserMarkAndArticle";
m_cm.Parameters.Add(new SqlParameter("@user_id", SqlDbType.VarChar));
m_cm.Parameters.Add(new SqlParameter("@name", SqlDbType.VarChar));
m_cm.Parameters.Add(new SqlParameter("@topic", SqlDbType.VarChar));
m_cm.Parameters.Add(new SqlParameter("@category", SqlDbType.Int));
m_cm.Parameters.Add(new SqlParameter("@link", SqlDbType.VarChar));
m_cm.Parameters.Add(new SqlParameter("@description", SqlDbType.VarChar));
m_cm.Parameters.Add(new SqlParameter("@submitDate", SqlDbType.DateTime));
m_cm.Parameters["@user_id"].Value = user_id;
m_cm.Parameters["@name"].Value = name; // add new!
m_cm.Parameters["@topic"].Value = topic;
m_cm.Parameters["@category"].Value = category;
m_cm.Parameters["@link"].Value = link;
m_cm.Parameters["@description"].Value = description;
m_cm.Parameters["@submitDate"].Value = Convert.ToDateTime(submitDate);
m_cm.ExecuteNonQuery();
bSucc = true;
}
catch (Exception e)
{
bSucc = false;
throw e;
}
finally
{
m_conn.Close();
}