.csv 파일의 문자 인코딩을 변환하는 Unix 명령

.csv 파일의 문자 인코딩을 변환하는 Unix 명령

UNICODE 형식의 .csv 파일을 ANSI 형식으로 변환하려면 Unix 명령이 필요합니다.

파일을 Cognos 환경에서 가져왔지만 Cognos에서 형식을 변경할 수 없습니다.

답변1

iconv를 사용하여 인코딩 간에 변환할 수 있습니다.

iconv -f utf-8 -t ascii oldfile > newfile

답변2

  • 내 제품에도 비슷한 문제가 있지만 어떤 유형의 인코딩인지 찾을 수 없다는 것을 알았습니다.

  • Notepad++에서는 ANSI라고 알려주므로 위 명령이 도움이 됩니다.

  • 요즘 ANSI에는 다양한 유형이 있으므로 확인하는 가장 좋은 방법은 다음을 입력하는 것입니다.

    iconv-l

  • 여기에는 모든 인코딩 형식 이름이 나열됩니다. 그래서 내 경우에는 다음과 같이 범위를 좁혔습니다.

    *iconv -l|grep -i ansi
    ANSI_X3.4-1968//
    ANSI_X3.4-1986//
    ANSI_X3.4//
    ANSI_X3.110-1983//
    ANSI_X3.110//
    MS-ANSI//*
    
  • 나는 특정 ANSI를 몰랐기 때문에 그것이 MS-ANSI라는 것을 알 때까지 거의 모든 ANSI를 시도했습니다. MS-ANSI는 Microsoft 시스템에서 파일을 받았기 때문에 알아야 했습니다. 그런 다음 이 명령을 사용하여 다음을 변환합니다.

    iconv -f MS-ANSI -t utf-8 샘플.csv > 샘플UTF8.csv

  • 따라서 iconv -l에서 UNICODE 유형을 동일한 방식으로 나열한 다음 순서를 바꾸어 원하는 ANSI 유형을 얻는 것은 간단합니다.

관련 정보