打个比方
string info = "用户你的手机号 13541134444已经修改成 13322234555";我不知道 系统默认是什么格式但怎么把 info转换成 gb232格式的,然后存储到数据库。???
转换成 gb232 我看着应该是乱码吧?
再问下,系统默认编码格式是什么?

解决方案 »

  1.   

    System.Text.Encoding.GB2312.GetString()
      

  2.   

    1、如果你的数据库用nvarchar,不用编码直接存就可以了。
    2、如果转换成gb232,结果就是字节流。你不能说字节流就是乱码,你转换不回来,才是乱码。
      

  3.   

    string info = "用户你的手机号 13541134444已经修改成 13322234555";
    Encoding encoding2312 = Encoding.GetEncoding("gb2312");
    string result = encoding2312.GetString(Encoding.Convert(Encoding.Default, encoding2312, Encoding.Default.GetBytes(info)));
    用这个result
      

  4.   

    假设 C# string info = "用户你的手机号 13541134444已经修改成 13322234555";默认的是 Unicode然后把 unicode 转换成 gb232后,那么以unicode 编码再编回来,就肯定是乱码吧,我要的就是这个乱码的string 
      

  5.   

    string info = "用户你的手机号 13541134444已经修改成 13322234555";
                Encoding encoding2312 = Encoding.GetEncoding("gb2312");
                string result = encoding2312.GetString(Encoding.Convert(Encoding.Default, encoding2312, Encoding.Default.GetBytes(info)));            this.Text = result;用了这个
    为什么 得到的this.Text,还是: 用户你的手机号 13541134444已经修改成 13322234555
    ???
      

  6.   

    因为中文系统,.net默认就是GB2312编码集。
      

  7.   

    字符串只有UTF-16一种编码
    Encoding.GetEncoding("GBK").GetString(Encoding.Default.GetBytes(str))string s="";  
    byte[] buffer= Encoding.GetEncoding( "GBK "); .GetBytes(S);  
    byte[] bUtf8=Encoding.Convert(Encoding.GetEncoding( "GBK"),Encoding.UTF8, buffer);  
    Text =Encoding.UTF8.GetString(bUtf8
      

  8.   

    因为 string info = "用户你的手机号 13541134444已经修改成 13322234555";已经是gb2312
    意思根本无需转换了????我存储到数据库里,别人 根据数据库里发短信。那边直接发
      

  9.   

    string info = "用户你的手机号 13541134444已经修改成 13322234555";
    这样已经是 gb232编码了,不需要转换了?请问下、》?