3

我的文件夹名称包含德语特殊字符,例如 äÄéöÖüß。以下屏幕截图显示 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());

最后,结果是 äÄéöÖü�x 。其中 ß 被视为方框字符“�x”。除 ß 字符外,文件夹名称中存在的所有其他字符均已成功/正确解码。

我只是想知道为什么相同的代码适用于所有其他德语特殊字符,但不适用于 ß。

有人可以帮助在 C# 中解决这个问题吗?

提前致谢。

4

2 回答 2

1

转到服务器 Livelink/livelink.exe?func=admin.sysvars 的管理面板并设置字符集:UTF-8

和代码部分更改如下

        byte[] bytes = Encoding.Default.GetBytes(value); 
        var retValue = Encoding.UTF8.GetString(bytes);

它工作正常。

于 2013-09-22T07:02:05.253 回答
0

您猜到您的编码是 UTF8,但显然不是。您将需要找出字节流真正代表的编码并使用它。我们无法帮助您,您将不得不询问所述字节的发件人。

于 2013-09-18T09:45:06.680 回答