2009-09-10 3 views
1

최종 사용자가 Excel에서 열려고하는 CSV 파일로 데이터를 내보내는 Java 응용 프로그램을 개발 중입니다. 우리는 방금 내보내기 기능이 자바의 플랫폼 기본 인코딩을 사용하는 것으로 나타났습니다. 이로 인해 움라우트 문자가 유실되고 단위 테스트가 빌드 서버에서 실패합니다 (이는 US-ASCII를 플랫폼 기본 인코딩으로 사용하여 이러한 잠재적 인 문제점을 정확히 잡아냅니다).CSV로 내보내는 데 사용할 인코딩은 무엇입니까?

질문 : 사용하는 데 가장 좋은 인코딩은 무엇입니까? Excel은 사용할 인코딩을 어떻게 결정합니까? Java 플랫폼의 기본값과 아마도 일치하는 특정 플랫폼을 사용합니까?

저는 현재 대상 컴퓨터 (배포 환경이 실제로 지정되어 있음)를 포함해야하며 테스트 문제를 해결할 예정인 Cp1252 하드 코딩에 관심이 많습니다. 인터넷 검색에서 Excel은 UTF-8을 제대로 처리하지 못하기 때문에 플랫폼의 기본 인코딩을 고수하려면 테스트 해킹에 대한 해킹이 필요합니다.

답변

1

나는 Excel이 플랫폼의 기본 인코딩과 잘 작동 할 것으로 기대한다. 따라서 일반적인 경우 Excel을위한 최상의 선택 인 것처럼 보인다. 플랫폼 기본값이 US-ASCII인지 확인하고 대신 Cp1252 (테스트 해킹 같음)를 사용하는 것은 컴파일러 경고를 억제하는 것과 개념적으로 동일합니다. 이 경우에는 적용되지 않는다는 것을 알고 있습니다.

그러나 프로덕션 배포를 제어한다는 내용을 작성 했으므로 왜 Cp1252를 하드 코드하는 데 주저합니까? 그것이 응용 프로그램의 목표 인코딩 인 경우 완벽하게 합리적인 솔루션처럼 보입니다.

+0

이것은 많은 팀이 병렬로 개발하고 전개 및 운영이 개발과 완전히 분리 된 거대한 시스템입니다. 배포 환경은 다른 부서 인 운영자에 의해 제어되며 누가 무엇을 할 것인지를 아는 사람입니까? –

0

Excel은 UTF-16에서 잘 작동한다고 생각하십시오. UTF-16로 내보내는 것이 잘못된 이유. 최소한 비 ASCII 문자는 그냥 버리는 대신 보존됩니다.

편집, 확인, '잘'UTF-16 작품을 능가하는 방법을 과장 수도 있지만 아직도 UTF-16LE가 UTF-8

+0

에 따르면 http://stackoverflow.com/questions/451636/whats-the-best-way-to-export-utf8-data-into-excel Excel은 UTF-16과 잘 작동하지 않습니다. –

0
당신은 (시스템 등록 정보에서) 시스템 로케일을받을 수

과보다 더 나은 작동 보인다 해당 인코딩을 사용하여 출력 파일을 만듭니다. 파일이 Excel에서만 열리는 경우 Apache POI를 살펴볼 필요가 있습니까?

+0

우리는 이미 플랫폼 기본 인코딩을 사용하고 있습니다. 인코딩을 지정하지 않으면 Java에서 발생합니다. POI를 사용하는 것이 아마도 가장 확실한 해결책 일 것이지만 지금 당장 할 수있는 것보다 훨씬 더 많은 변화와 변화가있을 것입니다. –

0

UTF-8 이제는 잘 작동합니다. 제품을 긁어서 CSV로 저장 한 다음 WP All Import를 사용하여이 CSV를 업로드합니다.이 모든 것이 XML로 변환 된 다음 WP 포스트로 업로드됩니다. 큰! 보십시오 jam tangan casio

관련 문제