'한글깨짐@'에 해당되는 글 3

  1. 2010.01.01 The element type must be terminated by the matching end-tag.
  2. 2009.12.23 XML 파싱 에러
  3. 2009.08.24 한글 인코딩 문제

The element type must be terminated by the matching end-tag.

org.jdom.input.JDOMParseException: Error on line 1: The element type "BUY_ADDR" must be terminated by the matching end-tag "</BUY_ADDR>".

<BUY_ADDR>영등포?/BUY_ADDR>

한글이 깨져서 파싱을 못한 경우임.

XML 파싱 에러

무시무시한 XML 파싱 에러가 났다.
Caused by: org.jdom.input.JDOMParseException: Error on line 15: The element type "xxx:TestName" must be terminated by the matching end-tag "</xxx:TestName>".
    at org.jdom.input.SAXBuilder.build(SAXBuilder.java:504)
    at org.jdom.input.SAXBuilder.build(SAXBuilder.java:807)
    ...
    ... 37 more
Caused by: org.xml.sax.SAXParseException: The element type "xxx:PartyName" must be terminated by the matching end-tag "</xxx:TestName>".
    at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)

시스템이 영문 윈도우즈라 file.encoding을 EUC-KR로 지정해 두었다.
외부시스템과 검증테스트를 하다보니 위와 같은 에러가 남.
개발자와 통화를 하던중 한글이 깨진 경우라고 함.
생성된 MIME 파일을 살펴보니 한글이 깨진 경우가 나왔다.

XXX-20091223162459-72723.0
    <XxxDateTime>20091223162532</XxxDateTime>
    <DescriptionText>성공적으로 처리 되었습니다.</DescriptionText>

XXX-20091223162459-72723.s
      <xxx:To>
        <xxx:TestID>1234512345</xxx:TestID>
        <xxx:TestName>(주)XXX</xxx:TestName>
      </xxx:To>

XXX-20091223162541-07225.s
      <xxx:To>
        <xxx:TestID>1234512345</xxx:TestID>
        <xxx:TestName>(二??대?????ㅽ???/xxx:TestName>
      </xxx:To>

file.encoding을 8859_1, UTF-8로 수정하면 정상적으로 처리된다.
시스템의 페이지 인코딩인 UTF-8로 설정했다.

한글 인코딩 문제

D사 W시스템에서 데이터 조회시 한글이 깨짐

소스는 문자열을 넘겨받아서 위와 같이 출력해주는 형태임.

영문 Windows 환경이고 SunOne 6.1 사용중.
한글처리는 필터에서 처리하고 있음.
file.encoding 시스템 프로퍼티는 Cp1251 임.

여러가지 방법을 써봤는데도 깨짐

해결은 간단하다.

왜 이걸 처음부터 생각하지 못했지?

[todo] 윈도우즈에서 file.encoding 시스템 프로퍼티는 어디서 가져오나? rt.jar 를 봤는데 native 메서드에서 막혔음.
영문 윈도우이긴 하지만 언어설정이 한글로 되어 있었음.
[todo] 로그도 깨졌는데, 위와 같이 해서 한글이 깨지는지 확인할 필요가 있음.