[Python] 리눅스 Bash 에서 한글이 깨질때

2019. 3. 18. 18:20 from Nas

리눅스의 ssh로 들어가서 실행하는 경우 정상작동 하지만

bash로 접속해서 실행하면 한글 표현 문제가 생기는 경우가 있다.


두번의 방법을 통해서 해결했는데 우선 도커를 빌드할때

Dockerfile에 아래 명령어를 추가해줘 한글팩을 환경변수로 지정하는것.


RUN apt-get install  -y language-pack-ko

RUN locale-gen ko_KR.UTF-8

ENV LANG ko_KR.UTF-8

ENV LANGUAGE ko_KR.UTF-8

ENV LC_ALL ko_KR.UTF-8


이 방법으로 Acii 오류는 해결됐지만 urlopen으로 받아온 소스의 한글이 외계어로 출력되는 문제가 생겼다.

이 문제는 파이썬 소스에서 html 소스를 받아오는 부분을 아래처럼 바꿔서 해결했다.


html = urlopen(url)

content = html.read().decode('euc-kr','replace').encode('utf-8','replace')

soup = BeautifulSoup(content)


Posted by Hunin :