AJAX 호출을 통해 서버에서 데이터를 가져 와서 responseDiv.innerHTML을 사용하여 결과를 표시하려고합니다. 서버의 데이터는 부분적으로 za \ u010Dat test와 같은 유니 코드 요소로 인코딩됩니다. 응답 div의 innerHTML을 설정하면 이는 방금 표시된대로 표시됩니다. 즉, 유니 코드는 브라우저에서 실제 표현으로 변환되지 않습니다.AJAX/innerHTML을 통해 부분적으로 유니 코드로 인코딩 된 데이터 표시
포함 페이지의 charset은 UTF-8로 설정됩니다. 유니 코드 표현을 HTML 엔티티로 변환하는 것과 같은 대부분의 다른 작업을 시도했지만 그 중 하나가 작동하지 않는 것 같습니다.
또한 서버에서 오는 텍스트에도 HTML 태그가 혼합되어 있음을 언급해야합니다. HTML 태그는 반드시 준수해야합니다. 예를 들어 서버의 텍스트가 <b>Bold this!</b>
인 경우 텍스트는 굵게 표시됩니다.
도움을 주시면 감사하겠습니다. '& # x010D;'
크람
흠 .. 텍스트는 데이터베이스에 저장되며 서버에 보내기 전에 HTMLEntity 변환기로 유니 코드를 실행할 수 있습니다. 대신 유니 코드 부분 만 클라이언트 측에서 변환하는 방법이 있습니까? –
은 대안으로 답변을 업데이트했습니다. 응답을 문자열로 처리하도록 javascript를 강제합니다. – russau
좋습니다. 유일한 문제는 데이터에 문자열이 포함 된 HTML이 포함되어 있다는 것입니다. 따라서 데이터에는 다음과 같은 마크 업이 포함됩니다. Hello 링크 : here 등. 이로 인해 Javascript는 eval을 수행 할 때 끝나지 않은 문자열 리터럴 오류를 발생시킵니다. –