我在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中不起作用。你能帮我解决这个问题吗?
答案 0 :(得分:1)
转到服务器Livelink / livelink.exe的管理面板?func = admin.sysvars并设置字符集:UTF-8和代码部分更改如下
byte[] bytes = Encoding.Default.GetBytes(value);
var retValue = Encoding.UTF8.GetString(bytes);