我有一个文件夹名,其中包含德语特殊字符,如äÄéöÖüß.The,屏幕截图显示LiveLink服务器的内容。

我想使用C#从Livelink服务器提取文件夹。
值是从LLserver得到的。
var bytes = new List<byte>(value.Length);
foreach (var c in value)
{
bytes.Add((byte)c);
}
var result = Encoding.UTF8.GetString(bytes.ToArray());最后,结果是,.where被视为方框字符“�x”。文件夹名中的所有其他字符都被成功地/正确地解码了,除了这个字符。
我只是想知道为什么相同的代码适用于所有其他德国特殊字符,但不适用于。
有人能在C#中帮助解决这个问题吗?
提前谢谢。
发布于 2013-09-22 07:02:05
转到服务器Livelink/activink.exe的管理面板?func=admin.sysvars并设置字符集: UTF-8
和代码部分更改如下
byte[] bytes = Encoding.Default.GetBytes(value);
var retValue = Encoding.UTF8.GetString(bytes);效果很好。
发布于 2013-09-18 09:45:06
您猜测您的编码是UTF8,而它显然不是。您需要找出字节流真正表示的编码方式,并使用它。我们无法帮助您,您将不得不询问发送者的上述字节。
https://stackoverflow.com/questions/18868781
复制相似问题