2013-07-31 2 views
2

У меня есть документ и папка в прямой ссылке, содержащей немецкие специальные символы Ää, Öö, Üü, ß. Я извлек имя документа и папки, используя следующий код сервера API LiveLink версии 9.2.0.0 и версии API для версии клиента LiveLink 9.5.0.0.Немецкие специальные символы Ää, Öö, Üü, ß отображаются неправильно в LiveLink или opentext

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 sever API версии 9.5.0.0. но не работает в сервере API LiveLink версии 9.7.1. Не могли бы вы помочь мне решить эту проблему?

ответ

1

Перейти к панели администратора сервера Livelink/livelink.exe FUNC = admin.sysvars и установить набор символов: UTF-8 и изменить раздел кода, как следовать

byte[] bytes = Encoding.Default.GetBytes(value); 
    var retValue = Encoding.UTF8.GetString(bytes); 
Смежные вопросы