본문 바로가기

백앤드/Linux

[Linux] 리눅스 파일 인코딩 바꾸기

반응형

간혹 개발을 하다보면 코드에서 인코딩을 변환하여 사용할 수 도 있지만, 코드를 수정할 수 없는 응용프로그램의 경우 파일의 인코딩을 변경해서 저장해야합니다.

 

포스팅을 쓰게된 사건은 파이썬에서 코드를 작성하고 테스트 코드를 수행하는데, 이런 에러가 발생하게되서 해결 방법을 찾게되었습니다.

[2023-08-08T05:26:20.203+0000] {standard_task_runner.py:105} ERROR - Failed to execute job 478 for task filter_program_list ('utf-8' codec can't decode byte 0xb9 in position 323: invalid start byte; 364846)

 

# 1. 각 파일별 인코딩 확인

file --mime-encoding *

이렇게 명령어를 실행하면 아래 사진처럼 파일 목록이 나타나면서 우측에 파일이 저장된 인코딩을 확인할 수 있습니다.

간혹 CP949 를 사용하는 사람도 있긴한데, 요즘엔 대부분 UTF-8을 사용하고 있습니다.

그런데 몇몇 파일들이 ISO-8859-1로 되어있어서 인코딩이 깨지거나 하는 등의 결함이 발생할 리스크가 있어보이네요.

 

# 2. 파일 인코딩 변경

명령어 요약 설명

iconv -c -f {현재 인코딩} -t {변경할 인코딩} {인코딩을 변경할 파일명} > {새로 생성할 파일명}

 

처음 블로거인 내가 봤을 때, 멍때리면서 보면 "이게 무슨 말이야"하고 쳐다보게 되어서 실제 예시와 함께 올려봤습니다.

iconv -c -f iso-8859-1 -t utf-8 ./filterOperator_back.py > ./filterOperator.py

 

이렇게 명령어를 입력하게 되면 해당 파일의 인코딩을 원하는 인코딩으로 변경할 수 있게됩니다.

 

반응형