日期:2014-05-17  浏览次数:20849 次

如何定义webservice返回的为gb2312
我返回的是一个字符串,要求字符串为GB2312的,怎么定义!求解!!

------解决方案--------------------
先转换为GB2312再传过来
------解决方案--------------------

 public string UTF8ToGB2312(string str)
        {
            try
            {    
                Encoding utf8 = Encoding.GetEncoding(65001);
                Encoding gb2312 = Encoding.GetEncoding("gb2312");//Encoding.Default ,936
                byte[] temp = utf8.GetBytes(str);
                byte[] temp1 = Encoding.Convert(utf8, gb2312, temp);
                string result = gb2312.GetString(temp1); 
                return result;
            }
            catch  (Exception ex)//(UnsupportedEncodingException ex)
            {
                MessageBox.Show(ex.ToString());
                return null; 
            }
        }
        public string GB2312ToUTF8(string str)
        {
            try
            {
                Encoding uft8 = Encoding.GetEncoding(65001);
                Encoding gb2312 = Encoding.GetEncoding("gb2312");
                byte[] temp = gb2312.GetBytes(str);
                MessageBox.Show("gb2312的编码的字节个数:" + temp.Length);
                for (int i = 0; i < temp.Length; i++)
                {
                    MessageBox.Show(Convert.ToUInt16(temp[i]).ToString());
                }    
                byte[] temp1 = Encoding.Convert