byte[] bs = Encoding.Default.GetBytes(s);
byte[] bbs = Encoding.Convert(Encoding.Default, Encoding.UTF8 , bs);
string str= Encoding.UTF8.GetString(bbs);
以上不对吗?可转换之后,还是会有乱码的问题。求高手帮帮忙。。
byte[] bbs = Encoding.Convert(Encoding.Default, Encoding.UTF8 , bs);
这句中的设置成:byte[] bbs = Encoding.Convert(Encoding.Default, Encoding.Default , bs);
不行啊,还是中文出现乱码的情况
@以人会友: webservice返回的是 byte[] 吗?
@Launcher: 不是,返回的是个字符串,字符串中文出现乱码!
@以人会友: 这样吧,能否把服务地址给告知一下,或者你能通过fiddler或别的工具抓包,把响应的内容给贴出来。
3q,解决了。等会结贴
@以人会友: 你是怎么解决的?
不用Convert,直接 Encoding.UTF8.GetString。
不行啊,还是中文出现乱码的情况
byte[] bs = Encoding.UTF8.GetBytes(s);
string str= Encoding.Unicode.GetString(bs);
这个形式试试
不行
建议确认一下PHP那边返回的数据是不是UTF-8编码
没有跨平台调用过,如果要解决问题,最好提供接口地址,直接调试,如果不方便就没办法了。
byte[] bs = Encoding.Default.GetBytes(s);
//这里的 s是啥, 如果早已乱码,转换也没有用。
把你的 完整接收方法 贴出来。
PHP人员给我说的死UTF8,到最后我一看是GBK的,我去