是否可以强制 Bower 安装使用 utf-8 编码?

Is it possible to force Bower install to use utf-8 encoding?

我 运行 遇到了一个我在其他问题中似乎找不到的奇怪问题。

问题的简短版本是:有什么方法可以强制 Bower 使用 utf-8 编码安装 download/save 模块?

长版本:我有一个由 webpack 构建的文件包,它使用乘法符号 (×) 作为关闭按钮。

在 webpack 编译所有内容之后,有问题的代码块如下所示:

_react2['default'].createElement(
  'a',
  { className: 'pn-finalists__close-btn', onClick: clickHandler },
  '×'
)

到目前为止一切顺利。

这个问题似乎是由 Bower 引起的——而且只是间歇性的。当我使用 bower install --save user/repo#^0.3.2 从 GitHub 存储库安装时,编码中断并且文件下载如下:

_react2['default'].createElement(
  'a',
  { className: 'pn-finalists__close-btn', onClick: clickHandler },
  'Ã'
)

我试图通过 webpack 来防止这种情况,但我似乎找不到将 × 更改为 × 的 webpack 部分(我也尝试过 \u00D7,同样的结果)。

但这似乎不应该发生在 Bower 身上。我已经验证该文件在 GitHub 上没有编码问题,所以它在 bower install 期间的某个地方发生,除非有一个我不知道的中间步骤。

有人以前看过这个吗?如果是这样,是否有办法通过 Bower 的 API and/or 禁用将 unicode/HTML 实体转换为其 Unicode 字符的 webpack 部分来解决此问题?

编辑:

在传输过程中损坏的文件是 this one。 (GitHub 不会以允许我 link 到行号的方式显示它,但是如果您搜索 close-btn,问题在于该术语的最后一个实例文件。)

如果将来有人偶然发现这个问题,似乎每个系统(webpack、bower、Heroku 等)都将责任归咎于其他系统。所以我找不到真正的解决方案。

不过,我确实在 this GitHub issue thread 中找到了解决方法,它建议将实体替换为:

String.fromCodePoint(0x00D7)

这不会被 webpack 转换为 utf-8 字符,因此完全避免了编码问题。