2016-07-01 3 views
0

상황 : : Velocity Mail Manager를 사용하여 자동화 된 이메일을 보내기 위해 Java 백엔드를 사용하는 코드를 수정하려고합니다.자바/HTML 인코딩 문제 (대시가 됨)

문제 : 주제가 String subject = "Hello - what's next?";과 같은 Java 코드로 설정됩니다. 그런 다음 message.setSubject(subject);과 함께 메시지 개체 (MimeMessage)로 설정됩니다. 그러나 전자 메일을 보내면 제목 줄이 "Hello? 다음은 무엇입니까?"로 렌더링됩니다.

: 해결책을 찾은 후 this question이 나와서 인코딩에 문제가 있다고 생각하게되었습니다. 전자 메일을 보내기 위해 호출되는 다양한 방법을 통해 작업 했으므로 인코딩을 설정하는 항목을 찾을 수 없습니다. 또한이 그렇게 같이 설정되어있는 이메일 템플릿 자체 인코딩을 확인 :

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

내가을 찾고 있어요 : 내가 알 필요 중 하나) 내 코드 인코딩에서 찾는 방법 내 HTML에서 사용하거나, b) Velocity Mail Manager에서 제목 줄의 인코딩을 설정하는 방법. (또는 c) 다른 문제 해결 팁을 참조하십시오.)

고마워요!

답변

0

당신은 문자열의 생성자에서 인코딩을 설정하려고한다 :

subject = new String(subject.getBytes("UTF-8"), "UTF-8");