textbox控件,現在的問題是數據庫是繁體,老版本的BIG5的編碼,我們現在用utf8的字符編碼,我想在文本框內輸入的時候轉換成繁體之後再放到後端去操作,不知道這個有沒有辦法來實現,可以實現的話,希望大神來貼出代碼。謝謝,,成功立即散分

解决方案 »

  1.   

    PHP 有ICOV("UTF-8","BIG5",$你的变量)可以把 UTF-8转换为BIG5.
    你后台用什么语言?
      

  2.   

    string varStr = "哈哈";
    string big5info = string.Empty;
    Encoding utf8 = Encoding.UTF8;
    Encoding big5 = Encoding.GetEncoding("big5");
    byte[] unicodeBytes = utf8.GetBytes(varStr);
    byte[] asciiBytes = Encoding.Convert(utf8, big5, unicodeBytes);
    char[] asciiChars = new char[big5.GetCharCount(asciiBytes, 0, asciiBytes.Length)];
    big5.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0);
    big5info = new string(asciiChars);不知道是否可以
      

  3.   

    这里有一帖,和你问题差不多
    http://topic.csdn.net/t/20051122/16/4410760.html
      

  4.   


    找到别的解决办法了
    可以請教,我如何對gridview的某一列值進行轉換過後再放進去去 show()  抓了好多次 失敗也很多次了
    搞定100分送上
      

  5.   

    你把4楼代码做成函数,然后把某一列的值传进去转码.
    但是,“對gridview的某一列值進行轉換”---你怎么转?转成BIG5?转完之后页面不就乱码了吗?
      

  6.   


    我用的是
    StringBuilder sb = new StringBuilder();        foreach (char c in nam_cust.Text)
                sb.Append("&#" + (int)c);
            string i = sb.ToString();
    转码  存进去时没什么问题了
    缺点是把所有的都转了,我们公司的原本erp是转换其中的一部分
    我现在用dataset捞出来,我我如何撈出來之後轉碼再綁定到gridview,public string GetInfo(string info)
        {
            string oldStr = Regex.Replace(info, @"&#(\d+)", delegate(Match match)
            {
                return ((char)int.Parse(match.Groups[1].Value)).ToString();
            });
        }這是轉回來的方法
      

  7.   

    呃,你使用GridView的话,貌似得在GridView_RowDataBound中去进行转换吧.net服务器控件用得不多,唯一的一个应该是Repeater
      

  8.   

    在“捞出来”的SQL语句里针对那一列的对应字段做文章,数据库一般是支持的。