final WebClient wc = new WebClient();
 HtmlPage page = wc.getPage("한글로 된 웹 URL");
  File f = new File("test.htm");
  f.delete();
  OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(f),"euc-kr");
  out.write(page.asXml());
  out.close();

HtmlUnit란 라이브러리가 있습니다.
HTML파서와 자바스크립트 인터프리터가 합쳐진 라이브러리입니다.
여기서 EUC-KR 한글로 된 웹 문서를 읽어옵니다.
그런데 이 라이브러리는 저절로 EUC-KR을 UTF-8로 변환시킵니다.
즉 page.asXML에는 UTF-8이 들어있습니다.
이게 FileOutputStream을 거치면서 euc-kr로 바뀌고 파일로 저장되는 구조입니다.
그런데 원본에는 없는 공백 부분에 ?표가 삽입됩니다.
OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(f),"utf-8");
이렇게 utf-8로 저장하면 ?표 부분은 웹브라우저에서 그냥 공백으로 표시됩니다.
"              <div class="article_body">
                   
                <font color="#0000ff">"
그런데 이걸 euc-kr로 HEX에디터에서 변환하면 물음표가 생깁니다.
"              <div class="article_body">
                ? ?€
                <font color="#0000ff">"
?표 부부의 HEX 코드는 다음과 같습니다.
"20 20 20 20 c2 a0 20 e3 80 80 0d 0a 20 20 20 20 20 20"
이런 글자가 생기는 부분은 원본 웹문서 위치를 보니까  '&nbsp;'이게 있는 위치입니다.
이게 잘못 변환되는 거같습니다.
어떻게 해야 ?가 안생기게 저장할 수 있을까요?
라이브러리의 버그일까요?