1

我们正在将源数据库 X 导入目标数据库 Y。

X 具有 RTF 格式的文本块,它们以某种方式显示在其应用程序中。

我们的 Web 应用程序无法显示 RTF,因此我们被指示将这些 RTF 块转换为数据库 Y 中的文件。

我们只需将 RTF blob 从 X(它所在的位置)复制nvarchar到 Y 中我们已经用于存储附件的列中,该列的类型为varbinaryfoo.rtf然后当用户想要查看它时,我们将它写成一个文件——这样他们就可以下载并在 Word 中打开 RTF。

不幸的是,该foo.rtf文件在 Word 中打开时,看起来就像原始 RTF,有点像

{\rtf1\ansi\ansicpg1252\deff0\deftab1134{\fonttbl{....

为了将这个 RTF“文本块”正确转换为实际的 RTF 文件,我们需要做什么?看起来只是保存字节不起作用。

谢谢你。

4

2 回答 2

1

您是否使用扩展名 .rtf 保存了文件——我知道 Word 可以很好地打开 RTF 文件(当然假设 rtf 是有效的)?

添加

然后还有其他问题,我做了一个网站,在那里我生成了.RTF文件,有几千个用户,复杂程度很低——没有一个关于用word打开它们的问题的抱怨

添加更多

确保检查 Web 服务器是否为您的文件提供正确的 MIME 文档类型(如果在浏览器中呈现)。IIS、APache 等以不同的方式执行此操作

于 2013-11-14T20:02:30.177 回答
0

事实证明,源编码和目标编码是不同的。我们使用Cast(Cast(Value as Varchar(max)) as Varbinary)了,这使一切正常。

于 2013-11-14T21:12:03.433 回答