存储的连字 HTML 未呈现
Stored Ligature HTML is not rendering
我正在使用 GroupDocs 查看器获取 PDF 并为其创建一个 HTML 页面。我将 HTML 存储在 SQL2012 数据库的 nvarchar(MAX) 字段中。我今天刚刚在一些测试中了解到,我们在文档中有一些特殊字符(连字)无法正确呈现。
突出显示问号只是为了便于查找。
由于某种原因缺少这些连字 (fl, fi, ff)。我检查了我的数据库,它们似乎正确存储在那里。
我检查了我用来加载页面的 JsonResult 服务器方法,我得到了一些混合结果,试图确定我的 pageHtml 字符串是否包含字符。
public async Task<JsonResult> LoadDocument(int contentID, int page)
{
try
{
var documentPageData = await APIAccess.Get<DocumentPageUserData>(DocumentPageData.GetDocumentPageRoute, contentID, CurrentUser.UserID, page);
JsonResult result = new JsonResult()
{
ContentEncoding = Encoding.Default,
ContentType = "application/json",
Data = new
{
pageHTML = documentPageData.DocumentPage.PageHtml //.Replace("?", "fl").Replace("?", "fi").Replace("?", "ff") //Don't like this idea
},
JsonRequestBehavior = JsonRequestBehavior.AllowGet,
MaxJsonLength = int.MaxValue
};
return result;
}
catch (Exception ex)
{
return Json(string.Format("There was an error loading the page.\r\n\r\nDetails:\r\n{0}", ex.Message),
JsonRequestBehavior.AllowGet);
}
}
当我将鼠标悬停在 DocumentPage.Html 上并要求将其呈现为 HTML 时,它看起来很棒。然而,文本渲染有一个 <span>?</span>
。不确定这是否只是因为 Text Render 没有字体或者是否存在其他问题。
在客户端,我将 html 文本存储在会话存储中,直到页面被请求,然后我将其呈现为 div 像这样。
var externalHtml = sessionStorage.getItem(currentPage);
$('.viewer').text('');
$('.viewer').append(externalHtml);
我已经尝试检查网络流量和客户端 html 但它看起来像?所以我不确定我在哪里失去了我的角色。有什么想法吗?
JsonResult 编码不正确。我将 ContentEncoding = Encoding.Default
更改为 ContentEncoding = Encoding.UTF8
。之后它完美呈现。唉...已经为此工作了 2.5 天。
我正在使用 GroupDocs 查看器获取 PDF 并为其创建一个 HTML 页面。我将 HTML 存储在 SQL2012 数据库的 nvarchar(MAX) 字段中。我今天刚刚在一些测试中了解到,我们在文档中有一些特殊字符(连字)无法正确呈现。
突出显示问号只是为了便于查找。
由于某种原因缺少这些连字 (fl, fi, ff)。我检查了我的数据库,它们似乎正确存储在那里。
我检查了我用来加载页面的 JsonResult 服务器方法,我得到了一些混合结果,试图确定我的 pageHtml 字符串是否包含字符。
public async Task<JsonResult> LoadDocument(int contentID, int page)
{
try
{
var documentPageData = await APIAccess.Get<DocumentPageUserData>(DocumentPageData.GetDocumentPageRoute, contentID, CurrentUser.UserID, page);
JsonResult result = new JsonResult()
{
ContentEncoding = Encoding.Default,
ContentType = "application/json",
Data = new
{
pageHTML = documentPageData.DocumentPage.PageHtml //.Replace("?", "fl").Replace("?", "fi").Replace("?", "ff") //Don't like this idea
},
JsonRequestBehavior = JsonRequestBehavior.AllowGet,
MaxJsonLength = int.MaxValue
};
return result;
}
catch (Exception ex)
{
return Json(string.Format("There was an error loading the page.\r\n\r\nDetails:\r\n{0}", ex.Message),
JsonRequestBehavior.AllowGet);
}
}
当我将鼠标悬停在 DocumentPage.Html 上并要求将其呈现为 HTML 时,它看起来很棒。然而,文本渲染有一个 <span>?</span>
。不确定这是否只是因为 Text Render 没有字体或者是否存在其他问题。
在客户端,我将 html 文本存储在会话存储中,直到页面被请求,然后我将其呈现为 div 像这样。
var externalHtml = sessionStorage.getItem(currentPage);
$('.viewer').text('');
$('.viewer').append(externalHtml);
我已经尝试检查网络流量和客户端 html 但它看起来像?所以我不确定我在哪里失去了我的角色。有什么想法吗?
JsonResult 编码不正确。我将 ContentEncoding = Encoding.Default
更改为 ContentEncoding = Encoding.UTF8
。之后它完美呈现。唉...已经为此工作了 2.5 天。