HTML / Unicode字符,特别是.resx文件中的复选标记字符在HTML中无法正确呈现?

时间:2013-05-17 19:05:57

标签: html unicode visual-studio-2012 resource-files

我正在尝试在元数据描述中获取复选标记。由于我的网站是多语言,我添加如下描述

<%@ Page MetaDescription="<%$Resources:metadescription%>

当我添加这些代码时,选中标记代码(http://www.fileformat.info/info/unicode/char/2713/index.htm

&#10003; 

&#x2713;

或有人建议:

&#10004;

在我的Visual Studio 2012资源文件(default.aspx.resx)中,它们被呈现为确切的代码,而不是我期望的复选标记。如何将复选标记呈现给HTML而不是代码?

我将此行添加到我的母版页:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

当我直接在HTML中输入此代码时:

&#10004;

所以在default.aspx中,勾选标记正确呈现!

当我替换

<%@ Page MetaDescription="<%$Resources:metadescription%>" 

<%@ Page MetaDescription="<%=$Resources:metadescription%>" 

我只是在我的HTML中得到这个:

<meta name="description" content="&lt;%=$Resources:metadescription%>" />

资源文件中的HTML代码似乎出现问题,但如何解决?

2 个答案:

答案 0 :(得分:3)

所以你看到

<meta name="description" content="… &#10004; …" />

在生成的标记中,您希望看到

<meta name="description" content="… ✔ …" />

代替。

首先,我想指出,在阅读&#10004;属性时,任何用户代理都应将实体解码为content。见attributes in HTML spec。因此,你想要的实际上是一种化妆品变化,几乎没有任何技术影响。

如果您想获得后一个标记(使用),只需在资源文件中包含✔即可。你可以复制&amp;从

粘贴
  • Fileformat.info page Java数据部分的 string.toUpperCase()下呈现的input method
  • javascript:'&#10004;'放入浏览器的位置栏时呈现的页面。

或者您可以使用和info on input methods直接输入。例如。在Windows上,您可以键入 Alt + 2 7 1 4 (在Fileformat.info上也有描述)。有关各种操作系统的更实用{{3}},请参阅fsymbols.com。

答案 1 :(得分:0)

如何在HTML中包含资源文本?您是否将值分配给标签?你直接把它写到页面上吗? ASP.NET将自动html编码控件子集的值。

following list of controls do not HTML encode the value you assign。所有其他控件将自动编码。如果需要在自动编码控件中显示该值,则需要将原始unicode值放在Resource文件中,而不是HTML编码版本。

要将您的unicode文本添加到resx文件,您可以使用 ALT + 1 + 0 + 0 num-pad上的+ 0 + 3 以插入字符。或者,您可以从任何网页或Word文档或Windows中的字符映射将其直接复制粘贴到编辑器中。

要使<% %>不对您的HTML内容进行自动编码,请使用<%= %>