creeperyang/pinyin

我发现在浏览器上必须要有 <meta charset="utf-8"/>标签, 否则无法转换

fffx opened this issue · 2 comments

fffx commented

这个好像没看到文档上有说明?

之前测试没注意到这个问题。如果方便,可以直接给 readme 提个pr,补充有关内容。

我的理解是如果浏览器中 Intl.Collator.supportedLocalesOf(['zh-CN']) 显示支持,就表示支持转换

fffx commented

试了下, 我发现是charset的问题, 下面这个保存到本地 pinyin项目的doc文件夹, 在本地浏览器打开可以重现

    <title>tiny-pinyin</title>
  <link href="app.css" rel="stylesheet">
    <div id="main">
      <textarea id="hanzi"></textarea>
      <pre id="pinyin"></pre>
    </div>
  <script type="text/javascript" src="browser.js"></script>
  <script type="text/javascript" src="app.js"></script></body>

image

这段html的特点是没有中文字符, 如果有中文字符, 浏览器就会推断charset为utf-8, 那就能正常转换, 这个html放到github page中也能正常转换, 因为服务器在response header 中有个content-type: text/html; charset=utf-8

所有我们应该强制页面的charset为utf-8?