我正在制作一个需要在 Windows/DotNet RichTextBox 中创建/操作客户端使用的富文本的 Web 服务。该服务的用户将来自世界各地。
该服务接受客户端从 RichTextBox.Rtf 提供的字符串,进行一些操作并将字符串返回给客户端,该字符串被放回文本框的 Rtf 字段中。
工作正常,但我对全球化有些担忧,例如..
我的开发机器上的一个空 RichTextBox 的 Rtf 为:
{\rtf1\ansi\ansicpg1252\deff0\deflang1044{\fonttbl{\f0\fnil\fcharset0 Microsoft Sans Serif;}}
\viewkind4\uc1\pard\f0\fs17\par
}
创建新记录时,服务需要提供一些默认的格式化文本。我假设在他们的操作系统安装上使用不同语言的人对于默认的空 RichTextBox 会有不同的字体、ansicodepage 和 deflang。所以我发现我可以为新记录提供以下字符串而不会出现格式异常......
{\rtf1\ansi\viewkind4\uc1\pard\f0\fs17 MyTextGoesHere\par}
在将 RichTextBox.Rtf 设置为上述内容后,我检查 Rtf 并发现它已重新插入字体和 deflang,如下所示...
{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset0 Microsoft Sans Serif;}}\viewkind4\uc1\pard\lang1044\f0\fs17 MyTextGoesHere\par}
问题:
1> 我应该担心这个还是必须在我的服务中继续删除它?
2> 将其剥离是否安全?客户仍然可以在文本中使用他们语言中的字符吗?
3> 会跨语言兼容吗?如果我使用不同于其他用户的操作系统/语言查看富文本,它看起来会正常吗?
有什么建议或指点吗?