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

Posted

技术标签:

【中文标题】德语特殊字符 Ää、Öö、Üü、ß 在 LiveLink 或 opentext 中显示不正确【英文标题】:German special characters Ää, Öö, Üü, ß are displaying incorrectly in LiveLink or opentext 【发布时间】:2013-07-31 05:19:56 【问题描述】:

我在 Live 链接中有包含德语特殊字符 Ää、Öö、Üü、ß 的文档和文件夹。我使用 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 服务器 API 版本 9.5.0.0 中运行良好。但不适用于 LiveLink API 服务器版本 9.7.1。你能帮我解决这个问题吗?

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于德语特殊字符 Ää、Öö、Üü、ß 在 LiveLink 或 opentext 中显示不正确的主要内容,如果未能解决你的问题,请参考以下文章

CoreData 错误存储包含 ä、ö、ü、ß 的字符串

Javascript 正则表达式替换必须保留德语变异元音

Flutter 创建 API 请求并接收带有 - 'Ä' 'Ö' 'Ü' 'ß' 的字符串

如何在列表中打印德语变音符号?

cv2 imwrite 和德语字母(“ä, ü, ö”)

将 MySQL 字段字符集从 latin1 更改为 utf8_general_ci 会破坏元音变音 (ä,ö,ü)