【问题标题】:How to set charset to .js file in MVC ScriptBundle?如何在 MVC ScriptBundle 中将字符集设置为 .js 文件?
【发布时间】:2013-04-26 09:03:31
【问题描述】:

我有 script.js 文件,其中包含几个西里尔文字符串。当我尝试使用这样的标准链接加载它时:

 <script type="text/javascript" src="~/Content/Script/Script.js"></script>

西里尔字母变成矩形/badCharsetCaracters。

这样就解决了问题:

&lt;script type="text/javascript" src="~/Content/Script/Script.js" charset="windows-1251"&gt;&lt;/script&gt;

如何使用 ASP.NET MVC 4 Bundles 设置字符集?像这样的代码:

 bundles.Add(new ScriptBundle("~/bundles/scripts").Include(
                     "~/Content/Script/Script.js"));

【问题讨论】:

  • 理想情况下,您应该仅以 UTF-8 保存和提供文件,而不是将 windows-1251 编码的文件加载到其他文档中。网络正在迅速接受 UTF-8,例如 JSON 绝对需要 UTF-8 编码。

标签: javascript asp.net-mvc-4 character-encoding bundle


【解决方案1】:

您可以使用Scripts.RenderFormat 指定您的自定义脚本标签呈现格式:

@Scripts.RenderFormat(
    "<script type=\"text/javascript\" src=\"{0}\" charset=\"windows-1251\"></script>", 
    "~/bundles/scripts")

【讨论】:

    【解决方案2】:

    将脚本文件的编码更改为您网站的编码。

    例如,如果您的网站采用 UTF-8 编码,则:

    1. 在 Windows 记事本中打开脚本文件
    2. 点击文件 > 另存为
    3. 将编码更改为 UTF-8(编码列表位于“保存”按钮的前面)

    【讨论】:

      猜你喜欢
      • 2021-05-02
      • 2010-10-14
      • 1970-01-01
      • 2018-01-15
      • 1970-01-01
      • 2013-08-29
      • 2010-09-27
      • 2015-08-23
      • 1970-01-01
      相关资源
      最近更新 更多