0

我正在使用 ASP.NET MVC 3。我对网格有以下配置:

grid.jqGrid({
        data: pages,
        datatype: 'json',
        emptyrecords: 'No hay proyectos cargados',
        colNames: ["Código", "Descripción", "Rev", "Cliente", "Tipo"],
        colModel: [
                 { name: 'Codigo', index: 'Codigo', width: 100 },
                 { name: 'Descripcion', index: 'Descripcion asc, Descripcion', width: 200 },
                 { name: 'Rev', index: 'Rev', width: 100, align: "right" },
                 { name: 'Cliente', index: 'Cliente', width: 200, align: "right" },
                 { name: 'Tipo', index: 'Tipo', width: 200, align: "right" }
               ],
        rowNum: 10,
        pager: '#dPager',
        sortname: 'Codigo',
        viewrecords: true,
        sortorder: "desc",
        beforeRequest: function() {
            if (pages.length === 0) {
                grid[0].p.page = 0;
            }
        },
        height: 'auto',
    });

列名“Código”和“Descriptción”显示一个奇怪的符号(一个黑色菱形,里面有一个白色问号)而不是“ó”字符。

供你参考:

  • 视图中还有其他“ó”字符被渲染,这让我相信它与页面的编码无关(仅供参考,DOCTYPE 标记是出现在 _Layout.cshtml 中的标准)。
  • jqGrid 本身确实会在其他控件中呈现特殊的“ó”字符,只要它们出现在 grid.locale-es.js 中。因此,例如,“Page X of Y”的文字是“Página X de Y”,如果我将其更改为“óóóóóóóó X de Y”,它会正确呈现它。
  • 例如,如果我将 emptyrecords 条目更改为“óóóóóó”,则会发生同样的问题。

任何想法为什么会发生这种情况?

4

1 回答 1

1

这可能是因为您将此脚本放置在一个 javascript 文件中,该文件没有与您的站点匹配的正确编码。

因此,例如,如果您的网站是 UTF-8,请确保您已使用 UTF-8 和 BOM 保存了 .js 文件。

  • 在 Visual Studio 中打开 .js 文件并选择File->Save As
  • Save单击按钮旁边的向下箭头
  • 选择Save with Encoding ...
  • 从下拉列表中选择Unicode (UTF-8 with signature) - Codepage 65001

在此处输入图像描述

于 2012-08-17T18:25:06.093 回答