2016-06-29 6 views
1

저는 ® 기호를 나타내는 아스키 기호를 포함한 텍스트를 반환하는 webservice를 호출합니다. 예를 들어 : Jackson JSON 유니 코드 기호 처리

ACME Corp® Services 

내가 JSON 객체로 직접 텍스트 데이터를 반환하는 스프링 사용하고 시간은 브라우저에 들어간 JSON 데이터가 올바른 남아 :
"service": "ACME Corp® Services" 

그러나시

가 렌더링되는 Handlebars 템플릿을 통해 내가 얻을 페이지에 기록 :

ACME Corp® Services 

내가 그것을 사용하기 전에 JSON 데이터를 소독해야합니까? 그렇다면 최선의 관행은 무엇입니까? 그렇지 않으면 아마도 백엔드에서해야 할 변경 사항이있을 수 있지만 그게 무엇인지 확신 할 수 없습니다.

+0

다음 링크는 도움이 될 수 있습니다. https://github.com/wycats/handlebars.js/issues/110 및 http://codrspace.com/durden/dealing-with-special-characters-in-json-and -handlebar-js-template / – paulsm4

답변

3

콘텐츠를 삭제하지 않아도되지만 JSON 사양에서 허용하는 유효한 인코딩 (일반적으로 UTF-16 및 UTF-32)을 사용해야합니다. 내용이 UTF-8 만 다른 무언가로 인코딩되어 있지 않은 경우

(같은 ISO-8859-1 일명 "라틴 -1"), 당신은 제대로 디코딩 Reader를 구성해야합니다

Reader r = new InputStreamReader(in, StandardCharset.ISO_8859_1); 
MyPOJO pojo = mapper.readValue(r, MyPOJO.class); 

문제는 당신이 될 것 같다 사용하는 인코딩이 잘못되었습니다.