无法使用unicode字符在.nsf文件中创建文件夹

时间:2015-11-02 09:36:43

标签: c# lotus-notes

我正在使用Interop.Domino.dll和Lotus Notes 8.5跟随c#.net中的代码: 我在Lotus Notes客户端中创建新文件夹。文件夹名称包含一些unicode字符。如果我尝试设置名称,我将收到错误

  

“”注释错误:名称太长   (DifferentlanguagesÜðĂþÖÖ〜VV¶ñí暎šäâΤø˙Ÿœ€...“ΠĆıœšŽÞÚ)“

lotus notes的文件夹名称限制为64个字符,但此字符串有54个字符

这是我的代码

NotesSeesion LotusNotesSession=new NoteSession();
LotusNotesSession.Initialize(null);
NotesDatabase Database=LotusNotesSession.GetDatabase("",FilePath,false);
Database.EnableFolder("DifferentlanguagesÜðĂþÖÖ~VV¶ñí暎šäâΤø˙Ÿœ€…„∏ĆıœšŽÞ);
  

//异常“注释错误:名称太长   (DifferentlanguagesÜðĂþÖÖ〜VV¶ñí暎šäâΤø˙Ÿœ€...“ΠĆıœšŽÞÚ)“

1 个答案:

答案 0 :(得分:3)

Lotus Notes的文件夹名称限制可能是64 bytes ,文件夹名称以UTF-8编码,这会导致字符串为89个字节。

当程序员没有真正关注他们正在做什么或记录什么时,这种情况经常发生。我的猜测是,这个限制早于Lotus Notes中的Unicode支持,并且当在单字节代码页中解释事物时它保持为真,但最终UTF-8用于在此时引入Unicode支持,这减少了可用字符的数量以某种不可预测的方式。