Unicode(梵文)字符在 HTML 下拉列表和文本字段标签中无法正确显示

问题描述 投票:0回答:1

我有一个 HTML 页面,需要在其中显示包含梵文字符的下拉列表。

我面临的问题是,在 DOM 中,字符以预期的方式显示,但在浏览器中却没有。同样的问题是在文本字段标记(即

input type=text
)中显示这些字符,但在
div
元素中字符显示正确。请参考下面的代码片段来重现该问题。

注意:在我的原始页面中,我使用“Mustard UI”作为CSS框架,因此我在我的代码片段中包含了它的CDN,只是为了确保我面临的问题与字体问题无关。

<html lang="en">
  <head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="https://unpkg.com/mustard-ui@latest/dist/css/mustard-ui.min.css">
  </head>
  <body>
    <div>
      In Dropdown
      <select name="my-dropdown" class="my-dropdown">
        <option value="1">श्री गणेश</option>
      </select>
    </div>

    <div>
      Inside DIV: श्री गणेश
    </div>

    <div>
      In Text-field 
      <input type='text' value='श्री गणेश'>
    </div>
  </body>
</html>

任何人都可以解释一下问题是什么以及如何解决它吗?我不认为这是一个字体问题,因为如上所述,字符在 DOM 中正确显示,并且还使这些字符以

div
的形式显示,它们以预期的方式出现。

以下是我所拥有的浏览器的信息,在这两个浏览器中我都面临着问题的解释:

Ubuntu 18.04.6 LTS 上的 Mozilla Firefox 113.0.2(64 位)、Google Chrome 版本 114.0.5735.198(官方版本)(64 位)。

谢谢。

html drop-down-menu textfield unicode-string
1个回答
0
投票

基于@Andj的响应添加字体CSS并应用样式,使用字体来选择和输入字段,最终它按预期工作。请参考下面的工作片段(该片段基于我在问题中使用的片段)

<html lang="en">

<head>
  <meta charset="utf-8">
  <link rel="stylesheet" href="https://unpkg.com/mustard-ui@latest/dist/css/mustard-ui.min.css">
  <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Noto+Sans+Devanagari">

  <style>
    .my-dropdown {
      font-family: 'Noto Sans Devanagari', serif;
    }
    
    .my-text-input {
      font-family: 'Noto Sans Devanagari', serif;
    }
  </style>

</head>

<body>
  <div>
    In Dropdown
    <select name="my-dropdown" class="my-dropdown">
      <option value="1">श्री गणेश</option>
    </select>
  </div>

  <div>
    Inside DIV: श्री गणेश
  </div>

  <div>
    In Text-field
    <input type='text' value='श्री गणेश' class='my-text-input'>
  </div>
</body>

</html>

谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.