반응형
Java로 파일을 선택하여 내용을 읽어 들이려다 보니,
어떤 건 정상적으로 내용 그대로 잘 읽어 들여지는데, 어떤 건 이상한 물음표가 내용 앞에 붙어서 읽어 들여지는 것이다.
그 부분 때문에 파일 처리에 문제가 있어서 한참을 삽질한 끝에 파일의 인코딩 문제라는 것을 알게 되었다.ㅜ
사용자에게 파일을 선택할 때마다 인코딩을 확인하고 선택하라고 할 수는 없으니..ㅋㅋ
BOM제거는 생각보다 쉬웠다. 제거만 보려면 2번으로!ㄱㄱ
1. 파일 선택
File files = new File(path + filename); //파일 선택
String strXml = FileUtils.readFileToString(files, "UTF-8"); //String 변환
파일을 UTF-8로 읽어 들여도 UTF-8 BOM은 걸러지지 않기 때문에 추가적인 작업으로 잘라주어야 했다. 같은 UTF-8이라고 인식하지 못하는 건가?
2.BOM 제거 - 자르기
if (strXml.startsWith("\uFEFF")) { //\uFEFF 인게 UTF-8 BOM인 모양
System.out.println("BOM제거");
strXml = strXml.substring(1); //시작위치(1)부터 끝까지 자르면 UTF-8
}
이렇게 잘라주는 것 만으로 BOM을 제거하고 정상적으로 처리를 할 수 있었다.
참 산넘어 산. 알아야 할게 많네
이렇게 파일 인코딩 UTF-8 BOM 문제 해결!
반응형
'web관련 공부들' 카테고리의 다른 글
[AngularJS] UI-GRID 사용하기(1) (0) | 2021.12.20 |
---|---|
Java에서 SAP RFC 작성하기 (1) | 2021.12.16 |
[ORACLE] ORACLE JOB 정지, 재시작, 조회, 실행 (0) | 2021.12.10 |
JavaScript popup - 4.Popup창 배치(가운데, 계단식) (0) | 2021.03.04 |
JavaScript popup - 3.Cookie를 사용한 오늘하루 열지않음 기능 (0) | 2021.02.25 |