2012-08-17 3 views
0

다른 컨트롤에 컬럼의 이름에서 스페인어 문자를 렌더링 할 수 있지만 수 없습니다 3. 그리드에 대한 다음과 같은 구성이 있습니다있는 jqGrid 내가 ASP.NET MVC 함께 일하고

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"은 "ó"문자 대신에 이상한 기호 (내부에 흰색 물음표가있는 검은 색 다이아몬드)를 표시합니다. 당신의 내용

는 :

  • 내가 그것을 페이지의 인코딩과 아무 상관이 생각하게 렌더링 된 뷰, 다른 "O"문자가 있습니다 (참고로는 DOCTYPE 태그는 표준입니다 _Layout.cshtml에 나타납니다).
  • 있는 jqGrid 자체가 다른 컨트롤에 특별한 "O"문자를 렌더링하지, 너무 오래 그들은 grid.locale-es.js에 나타납니다. 그래서, 예를 들어, "Page X of Y"의 문자는 "Página X de Y"이고, 그것을 "óóóóóóóóó X de Y"로 변경하면 올바르게 렌더링됩니다.
  • 예를 들어 "óóóóóóó"가있는 빈 레코드 항목을 변경하면 동일한 문제가 발생합니다.

어떤 아이디어 왜 이런 일이 발생 하는가? 당신이 당신의 위치와 일치하도록 올바른 인코딩이없는 자바 스크립트 파일에이 스크립트를 배치했기 때문에이 일어날 수

답변

1

.

그래서 예를 들어 귀하의 사이트가 UTF-8 인 경우, 당신은의 .js가 BOM과 UTF-8로 파일을 저장했는지 확인합니다.

  • 엽니의 .js Visual Studio에서 파일을 다음
  • 선택 Save with Encoding ...
  • 드롭 다운 목록에서 Save 버튼에있는 아래쪽 화살표를 File->Save As
  • 클릭을 선택 선택 Unicode (UTF-8 with signature) - Codepage 65001 :

enter image description here

+0

좋아요. 그래도 그럴 수는 없을 것입니다. 할 일 목록에 "인코딩에 대해 배우기"를 추가하겠습니다. – Heathcliff