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

标签 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 代码似乎有问题,但如何修复它?

最佳答案

所以你只看到

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

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

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

相反。

首先,我想指出,任何用户代理在读取内容时都应将实体解码为属性。请参阅attributes in HTML spec 。因此,您想要的实际上是外观上的改变,几乎没有技术影响。

如果您想获得后一种标记(使用 ),只需在资源文件中包含 ✔ 即可。您可以从

复制并粘贴它
  • Fileformat.info page它在 Java Data 部分的 string.toUpperCase() 下呈现,或者来自
  • javascript:'✔' 放入浏览器的地址栏中时呈现的页面。

或者,您可以使用 input method 直接输入它。例如。在 Windows 上,您可以输入 Alt+2,7,1,4 ( Fileformat.info 上也有描述)。更多实用info on input methods各种操作系统的信息请参见 fsymbols.com。

关于HTML/Unicode 字符,特别是 .resx 文件中的复选标记字符在 HTML 中未正确呈现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16616199/

相关文章:

html - "Centering"带有 Bootstrap 网格的图像

javascript - 通过 jQuery 重新排列表行,在 IE 中产生不良结果

javascript - 在文本框中按回车键打开链接

c++ - 什么 utf 格式应该 boost wdirectory_iterator 返回?

mysql - 如何在 mysql LOAD DATA INFILE 查询中使用 unicode 字符作为字段分隔符

sql - Visual Studio 2012 无法在 Asp.net 网站中保存我的 SQL 数据库

javascript - 将图像从数据库对齐到 html 页面

javascript - 将 JavaScript 字符串拆分为代码点数组? (考虑到 "surrogate pairs"但不是 "grapheme clusters")

c++ - 从 C++ 控制台应用程序创建可用程序

visual-studio-2012 - 在 Visual Studio 2012 中安装 Resharper 后如何重新启用 F12 以转到定义