Unicode 表情符号在浏览器中不可见(显示为正方形)

Unicode emoji not visible in browser (shows a square)

我试图在我的 Angular 6 项目的下拉菜单(select 标签)中获取表情符号。我为此使用 unicode。到目前为止,我只设法显示了一些表情符号(如♥)。我想要这样的表情符号:😄😐😡但我在浏览器中看到的只是一个空方块。

我尝试创建一个简单、普通的 html 文件,然后表情符号全部显示在下拉菜单中。但是,当我尝试在 angular 模板中实现它时,它不再起作用了。 我还尝试下载 Symbola 字体并将其添加到 CSS,但也没有成功。

这是模板:

<div class="postContainer postContent bg-dark" style="width: 80%;">
  <form class="postForm" [formGroup]="newPost" (ngSubmit)="saveNewPost()">

    <label class="text-warning label">Smiley</label>
    <select formControlName="smiley" class="custom-select mr-sm-2 col form-control-lg" id="inlineFormCustomSelect"
            [ngClass]="{ 'is-invalid': submitted && f.smiley.errors }">

      <option selected>Choose...</option>

      <!-- Attempt with the Symbola emoji font -->
      <option value="Smiley1"><span class="emoji">&#x1F604;</span></option>

      <!-- Attempt without the Symbola emoji font -->
      <option value="Smiley2">&#x1F604;</option>

    </select>
  </form>
</div>

在我的 styles.css Symbola 字体的字体中

 @font-face {
   font-family: "emoji", "Symbola";
   src: url("./assets/fonts/emoji/Symbola-Emoji.woff") format("woff"),
        url("./assets/fonts/emoji/Symbola-Emoji.ttf") format("ttf");
  }

在模板的 CSS 文件中添加 Sybmola 和表情符号字体:

.emoji {
  font-family: "emoji", "Symbola";
}

奇怪的是它在单独的 html 文件中工作,但不在我的 Angular 项目中。如果重要的话,我正在使用 Visual Studio 代码编辑器。有谁知道这里的问题是什么?

更新 1: 如果我复制表情符号本身并将其放在组件中的变量中:

smiley: any = '';

然后在模板中输入:

 // Form and select tags...
 <option value="Smiley2">{{smiley}}</option>

它在 Firefox 的下拉菜单中显示笑脸,但在 Chrome 中不显示。

更新二: 这似乎是一个 Chrome 问题。我测试了一些随机的笑脸,到目前为止只有 unicode 7.0 到 10.0 (https://emojipedia.org/unicode-7.0/) 的表情符号适用于 Chrome 中的 select 标签,旧版本则不行。然而,其他版本的表情符号会出现在 'normal' 标签中,例如段落标签。只是不在 select 菜单的选项标签中。我想使用的所有表情符号都是 unicode 版本 6.0 和 6.1 的一部分 有谁知道如何解决这个问题?

更新 3: 所以我在下拉菜单中添加了几个表情符号并重新启动了 Angular 和 Chrome。表情符号全部显示,甚至是 unicode 版本 6 中的表情符号。但是,如果我刷新 (F5) 页面,版本 6 中的表情符号将从菜单中消失。所以我想我的问题现在已经解决了一半:

不是真正基于代码的答案,但我找到了 Chrome 的解决方案。

显然,我安装了 Chrome 扩展程序 (Chromoji),据说它允许在 Chrome 中使用更新的表情符号。确实如此,因为表情符号看起来与该扩展不同(较新的表情符号 unicode 可见)。我删除了扩展程序,现在我只能看到旧版本,但至少所有表情符号现在一直可见。

这几天一直让我头疼。我希望 Google 有一天能解决他们的表情符号问题。