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」と「Descripción」には、「ó」文字の代わりに奇妙な記号 (白いクエスチョン マークが入った黒いひし形) が表示されます。
ご参考までに:
- レンダリングされるビューには他にも「ó」文字があり、ページのエンコーディングとは何の関係もないと思われます (参考までに、DOCTYPE タグは _Layout.cshtml に表示される標準です)。
- jqGrid 自体は、 grid.locale-es.js に表示される限り、他のコントロールで特別な「ó」文字をレンダリングします。たとえば、「Page X of Y」のリテラルは「Página X de Y」であり、「óóóóóóóóó X de Y」に変更すると、適切にレンダリングされます。
- たとえば、emptyrecords エントリを "óóóóóó" に変更すると、同じ問題が発生します。
なぜこれが起こるのですか?