내 주요 문제를 언급하기 전에 약간의 배경com.fasterxml.jackson.databind.ObjectMapper 인코딩
우리는 FasterXML를 통해 JSON에 POJO로 변환하는 모듈이있다. 처음에는 POJOS로 변환 된 다음 JSON으로 변환되는 여러 XML이 있다는 논리가 있습니다.
이러한 여러 개의 JSON은 하나의 JSON에 포함되어 제 3 자에 의해 처리됩니다.
문제는 단일 JSON이 형성 될 때까지입니다. 모든 것이 정상적으로 보입니다. 모든 JSONs 병합 및 파일에 기록되면
, 지역화 된 문자는 모두 우리는 그들이 개인 JSON에서 어떻게 보이는지 같이 동일한를 원하는 반면, 인코딩
예를 들어 단일 JSON은 니펫을
{ "제목": "웹 サ ー バ に 関 す る お 知 ら せ"}
예를 들어 병합 된 JSON 코드 조각{ "제목": "웹 \ u30b5 \ u30fc \ u30d0 \ u306b \ u95a2 \ u3059 \ u308b \ u304a \ u77e5 \ u3089 \ u305b "}
나는 우리가 지역화 된 문자BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(finalJsonPath),"UTF-8"));
writer.write(jsonString);
같은 objectmapper 코드는 여기를 UTF-8 인코딩을해야 할 생각으로 617,451,515,
byte[] jsonBytes = objectMapper.writeValueAsBytes(object);
String jsonString = new String(jsonBytes, "UTF-8");
이 JSON 문자열은 다음
BufferedWriter writer = new BufferedWriter(new FileWriter(finalJsonPath));
writer.write(jsonString);
은 또한 다음을 시도 파일에 기록됩니다 단일 json에도 쓰는 데 사용되는 인코딩은 그 시점에 표시되지 않습니다.
아무도 지적 해주세요. 병합 된 JSON 레벨에서 인코딩 문제의 원인은 무엇입니까?
추신 : 코드는 tomcat에 배포되는 전쟁의 일부입니다. 처음에 우리는 볼 수 있었다 ??? (JSON에서 물음표) 이후 우리는이 = "$ JAVA_OPTS -Dfile.encoding = UTF-8"나중에
, I도 추가 서블릿 요청 인코딩
JAVA_OPTS을 catalina.sh 다음을 추가하지만은 않았다
JAVA_OPTS이 = "$ JAVA_OPTS -Dfile.encoding = UTF-8 -Djavax.servlet.request.encoding = UTF-8"
감사합니다 도움이되지!