德语特殊字符Ää,Öö,Üü,ß在LiveLink或opentext中显示不正确

时间:2013-07-31 05:19:56

标签: c# livelink

我在Live链接中包含文档和文件夹,其中包含德语特殊字符Ää,Öö,Üü,ß。我使用LiveLink API服务器版本9.2.0.0的以下代码和LiveLink 9.5.0.0的客户端版本API版本解压缩了文档和文件夹名称。

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服务器API版本9.5.0.0中正常工作。但在LiveLink API服务器版本9.7.1中不起作用。你能帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

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

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