现改写一项目,数据库是MySQL 数据库编码是UTF8 开发环境VS2008团队开发版 WEB项目
现出现一问题如图:
当搜索的问题关键字是中文的时候 查询不到记录,如果问题是英文或英文中文混合 我搜索问题中包含的英文 可以查询到记录
【特别说明,这里没有出现中文显示问题,包括修改和插入中文都没有问题】
该页面数据显示是调用通用的MySql 分页存储过程
public static DataTable GetDataList(string question, int currPage, int pageSize)
{
string strWhere = " 1=1";
if (!string.IsNullOrEmpty(question))
strWhere += " and LOCATE('"+ question +"',question)";
MySqlParameter[] paras = new MySqlParameter[7];
paras[0] = new MySqlParameter("?tblName", MySqlDbType.VarChar, 255);
paras[0].Value = "tbl_question";
paras[1] = new MySqlParameter("?fldName", MySqlDbType.VarChar, 255);
paras[1].Value = "id,question,answer,create_time,update_time";
paras[2] = new MySqlParameter("?PageSize", MySqlDbType.Int32);
paras[2].Value = pageSize;
paras[3] = new MySqlParameter("?PageIndex", MySqlDbType.Int32);
paras[3].Value = currPage;
paras[4] = new MySqlParameter("?IsCount", MySqlDbType.Bit);
paras[4].Value = false;
paras[5] = new MySqlParameter("?OrderType", MySqlDbType.Int32);
paras[5].Value = 1; //0-asc;1-desc
paras[6] = new MySqlParameter("?strWhere", MySqlDbType.VarChar, 255);
paras[6].Value = strWhere;
DataTable dt = MySqlHelper.ExecuteDataTable("prc_page_result", CommandType.StoredProcedure, paras);
return dt;
}