我从sybase中读取string格式的数据,再将其转成byte再换编码,大部分汉字都能正常显示了,但是有部分还是不正常,特别是词组或句子的最后一个字,还有一些特殊字符好像也不对。编码转换的代码如下:
string s;
Byte[] encodedBytes = Encoding.Default.GetBytes(s);
return System.Text.Encoding.UTF8.GetString(encodedBytes);同事发现是转byte的过程中会丢失一些信息造成这种情况,有没有办法解决这个问题(即不丢失数据的转换)?
或者直接用byte的形式从sybase数据库读取数据有没有可能实现?
谢谢回复!
string s;
Byte[] encodedBytes = Encoding.Default.GetBytes(s);
return System.Text.Encoding.UTF8.GetString(encodedBytes);同事发现是转byte的过程中会丢失一些信息造成这种情况,有没有办法解决这个问题(即不丢失数据的转换)?
或者直接用byte的形式从sybase数据库读取数据有没有可能实现?
谢谢回复!
return System.Text.Encoding.UTF8.GetString(encodedBytes);用Default转字节,用UTF8还原当然会出现问题,统一用一种编码
建议都使用:System.Text.Encoding.Default 使用其他类时可能会出现乱码.
按照您的方法编译出错,具体信息为:
未处理的“System.ArgumentException”类型的异常出现在mscorlib.dll中。
其他信息: utf8 不是受支持的编码名。这是什么原因?谢谢回复。