본문으로 건너뛰기

ASP 폼메일 발송 시 한글이 ???로 표시되는 이유는 무엇인가요?

💡 요약 정리

  • CDO 메일 컴포넌트는 운영체제의 국가 코드(로캘)를 자동으로 따릅니다.
  • 영문 O/S에서는 한글이 ???로 깨져 보일 수 있습니다.
  • 폼메일(ASP) 코드에 문자셋을 명시적으로 지정하세요.
  • 권장 설정: ks_c_5601-1987를 .BodyPart.Charset, .HTMLBodyPart.Charset에 적용
  • .BodyPart.Charset 라인은 다른 코드보다 위에 위치해야 합니다.

1. 원인

  • CDO 컴포넌트는 O/S의 국가 코드로 자동으로 작동합니다.
  • 따라서 영문 O/S에서는 한글이 ??? 등으로 표시될 수 있습니다.
  • 국가별 언어를 한국어로 설정했더라도, 폼메일 발송 시 한글이 ???로 보일 수 있습니다.

2. 해결 방법

  • 폼메일(ASP) 소스에서 문자셋(Character Set) 코드를 명시적으로 추가해 주세요.

2-1. 기본 문자셋 추가 예시

.BodyPart.Charset = "ks_c_5601-1987"
.HTMLBodyPart.Charset = "ks_c_5601-1987"

2-2. With 블록 내 전체 예시

With objMessage
.BodyPart.Charset = "ks_c_5601-1987"
.To = receiver_email
.From = sender_email
.Subject = title
.HTMLBody = content
.HTMLBodyPart.Charset = "ks_c_5601-1987"
.Send
End With
  • 중요: .BodyPart.Charset의 위치는 다른 코드보다 상위에 있어야 합니다.

3. 적용 시 유의사항

  • 문자셋 설정은 메일 본문이 설정되기 전에 지정해야 올바르게 반영됩니다.
  • HTML 본문을 사용할 경우, .HTMLBodyPart.Charset도 함께 지정하세요.