我的网站里包含了法语和英语,在web.config里面已经设置了    <globalization requestEncoding="utf-8" responseEncoding="utf-8" />,
通过设立断点,查看到sql语句是正确的,如:SELECT *  FROM article where text like '%étudiés%' or title like '%étudiés%' order by dtt desc
,在个语句在accesss里把% 换成 * 后,能够搜索到结果,但是在C#里怎么也搜不到结果,请高手指教。
以下是我的查询函数        public static  DataSet CreateDataSetCH(string strSQL, string TableName)
        {
            string ConnString = ConnallStringCH;
            OleDbDataAdapter objCmd = new OleDbDataAdapter(strSQL, ConnString);
            DataSet DS = new DataSet();
            objCmd.Fill(DS, TableName);
            return DS;        }

解决方案 »

  1.   

    http://blog.csdn.net/ccp5780199/archive/2008/01/10/2033720.aspx 
    Access的通配符* 与任何个数的字符匹配,它可以在字符串中,当做第一个或最后一个字符使用。 wh* 可以找到 what、white 和 why 
    ? 与任何单个字母的字符匹配。 B?ll 可以找到 ball、bell 和 bill 
    [ [ 与方括号内任何单个字符匹配。 B[ae]ll 可以找到 ball 和 bell 但找不到 bill 
    ! 匹配任何不在括号之内的字符。 b[!ae]ll 可以找到 bill 和 bull 但找不到 bell 
    - 与范围内的任何一个字符匹配。必须以递增排序次序来指定区域(A 到 Z,而不是 Z 到 A)。 b[a-c]d 可以找到 bad、bbd 和 bcd 
    # 与任何单个数字字符匹配。 1#3 可以找到 103、113、123  
      

  2.   

    我在c#里用ODBC查询,是用SELECT *  FROM article where text like '%étudiés%' or title like '%étudiés%' order by dtt desc 
    这个语句,但是查不到东西,在access里把%换成* 就能查到内容。我觉得应该不是sql的问题,应该是ODBC的编码支持的问题,但是不知道到怎么解决。
      

  3.   

    原来是我在用odbc时,连错数据了,access是能查询法语的。