【问题标题】:Is it possible to force Bower install to use utf-8 encoding?是否可以强制 Bower 安装使用 utf-8 编码?
【发布时间】:2016-03-18 06:37:19
【问题描述】:

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

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

长版本:我有一个由 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 和/或禁用将 unicode/HTML 实体转换为其 Unicode 字符的 webpack 部分来解决这个问题?

编辑:

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

【问题讨论】:

  • 能否提供GitHub repo的真实姓名?
  • @BobSponge 我添加了一个指向 repo/文件的链接。
  • 使用 bower 1.4.1 我没有任何编码问题。
  • @BobSponge 我正在使用 v1.7.7,这是从 npm install -g bower 安装的。我在 Bower 存储库中找不到任何关于此的问题,所以我现在相当难过。
  • 当您以 Latin-1 编码查看文件时,×Ã。所以,试着一点一点地比较来自 bower 和 GitHub 的文件stackoverflow.com/questions/8166697/…

标签: unicode encoding utf-8 bower webpack


【解决方案1】:

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

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

String.fromCodePoint(0x00D7)

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

【讨论】:

    猜你喜欢
    • 2011-08-19
    • 2013-03-20
    • 2011-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-25
    相关资源
    最近更新 更多