数据库中有个姓名字段,存储的一些名字中包含"峯","貟",
例如:张峯(其实应该是:张峯)有没有什么好的方法可以实现这个效果,
就是当用户输入“张峯”,查询出来的也是“张峯”,而不是“张?”。PS:"&#.....;"是什么编码?

解决方案 »

  1.   

    数据库用的什么编码, 估计是数据库的编码中没有这个字, 就用了内码来表示那个是 unicode 码
      

  2.   

    Unicode编码 
    就是&#加数字会变成字或字符的编码
      

  3.   

    Response.Write(System.Web.HttpUtility.HtmlDecode("张峯"));
      

  4.   

    HttpUtility.HtmlDecode解码
    HttpUtility.HtmlEncode编码
      

  5.   

    存的时候:HttpUtility.HtmlEncode编码
    取的时候:HttpUtility.HtmlDecode解码 再看看你用的是什么数据库,设置一下数据库的字符集.
      

  6.   

    可以使用escape方法,对汉字进行编码,查询显示时使用unescape方法解码,得到编码前的字符,该方法经常用于网络编程
    使用实例如下:
    var code=escape(document.getelementbyId("textId").value);
      //通过document对象的getelementbyId方法得到id号为textId的对象的值,并复制给变量codedocument.getelementbyId("textId").value=unescape(code);  
    //将code解码并赋值textId
      

  7.   

    Unicode编码 
    string str = ""; 
    string outStr = ""; 
    if (!string.IsNullOrEmpty(str)) 

    string[] strlist = str.Replace("\\","").Split('u'); 
    try 

    for (int i = 1; i < strlist.Length; i++) 

    outStr += (char)int.Parse(strlist[i], System.Globalization.NumberStyles.HexNumber); 


    catch 
    { } 
    }