2014-09-22 2 views
0

내 문제는 내 컨트롤러에서 JsonResult를 통해 볼 때 반환되는 단어의 액센트가 기호 대신 변환 된 액센트가 아니라는 것입니다.컨트롤러에서 Ajax를 통해 View로 액센트가있는 문자열을 반환하는 방법 JSon

"Finalizar_Saída"라는 단어가 잘못 렌더링되었습니다. "Finalizar_Sa da".

내 초기 반환 전화 :

contentType: "application/json; charset=ISO-8859-1", 
dataType: "json", 

는 Web.config의이 문서에 추가

Add in HTML page: 
< META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<script src="@Url.Content("~/path/fileName.js")" type="text/javascript" charset="utf-8"></script> 

문서 자바 스크립트에 추가

return Json(Object); 

나는 이미 이런 일을 시도 :

<globalization culture="pt-BR" uiCulture="pt-BR" requestEncoding="iso-8859-1" responseEncoding="iso-8859-1" fileEncoding="iso-8859-1" /> 
01 23,516,

또는

<globalization enableClientBasedCulture="false" requestEncoding="utf-8" responseEncoding="utf-8" fileEncoding="utf-8" 
     responseHeaderEncoding="utf-8" enableBestFitResponseEncoding="true" culture="es-MX" uiCulture="es-MX"/> 

는 C#으로 추가

Json(Object, "application/json", Encoding.UTF8); 

사람이 알아낼 수있는 방법을 알아

:

는이 같은 반환 전화를 변경 한?

당신은 HTML 인코딩을 사용하여 원하는 문자가 포함 된 문자열을 저장할 수 있습니다

here

이름 것입니다 가능성이 발견

+0

contenttype에 utf-8을 사용하지 않는 이유는 무엇입니까? 또는 contentType 속성에서 charset = ISO-8859-1 만 제거하십시오. – apros

답변

0

죄송합니다. 문제는 텍스트를 렌더링하는 방법이 아니라 정보를 읽는 방법이었습니다.

우리의 경우 log4net에 의해 생성 된 파일에서 정보를 읽었습니다. 이제

Encoding.Default.GetString(buffer). 

: log4net은 ANSI 표준에서 작성되었으며 우리가

이 솔루션은 다음과 같은 호출을 사용하여 표준 ANSI로 읽기 모드를 변경했다가 UTF8 표준이라고 생각하는 것이

문제는 작동하고있어.

어쨌든 고마워요.

0

이것은 필요하지 않게 방법으로하는 방법 입니다 더 이상 코드/DB에서 사람이 읽을 수 없지만 브라우저에 올바르게 표시되어야합니다. UTF- 인식 언어로 문자열을 구문 분석하고 유니 코드 문자를 HTML 코드로 대체하는 정규 인코딩과 결합 된 기본 인코딩/디코딩 함수를 사용할 수 있습니다. 이는 클라이언트 AJAX 요청을 보내기 전에 즉시 수행 할 수도 있습니다.

관련 문제