我在“实时”链接中有“文档”和“文件夹”,其中包含德语特殊字符Ää,Öö,Üü,ß。我使用以下LiveLink API服务器版本9.2.0.0和客户端版本API版本的LiveLink 9.5.0.0提取了文档和文件夹名称。

string encodedName = LLValueUtil.GetValue(mainLLObj, "Name").TrimEnd('.');
int charIndex = 0;

while (Array.IndexOf(WhitespaceChars, encodedName[charIndex]) >= 0) {
    string replacement = System.Xml.XmlConvert.EncodeName(encodedName[charIndex].ToString());
    encodedName = encodedName.Substring(0, charIndex) + replacement + encodedName.Substring(charIndex + 1);
    charIndex += replacement.Length;
}

charIndex = encodedName.Length - 1;
// Replaces trailing WhitespaceChars

while (Array.IndexOf(WhitespaceChars, encodedName[charIndex]) >= 0) {
    string replacement = System.Xml.XmlConvert.EncodeName(encodedName[charIndex].ToString());
    string lastPart = encodedName.Substring(charIndex + 1);
    encodedName = encodedName.Substring(0, charIndex) + replacement + lastPart;
    charIndex = encodedName.Length - replacement.Length - lastPart.Length - 1;
}

string documentName = encodedName; // give fine File name


此代码在Livelink服务器9.5.0.0版中正常工作。但不适用于LiveLink API服务器9.7.1版。您能帮我解决这个问题吗?

最佳答案

转到服务器Livelink / livelink.exe?func = admin.sysvars的管理面板,并设置字符集:UTF-8和代码部分更改如下

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

10-08 09:08