
Docker Container 내에서 FastAPI로 모델 서버를 개발하고 있을 때 일이었다.
Container의 bash에서
echo "한글"
을 입력하면 한글이 정상적으로 출력되었지만 Post로 받은 한글 문자열을 읽으면 문자가 깨져있었다.
해결 방법은 아래와 같다.

아래 스크립트는 Dockerfile을 기준으로 한다.
FROM python:3.10
RUN pip install --upgrade pip
COPY requirements.txt .
RUN pip install -r requirements.txt
RUN rm requirements.txt
RUN apt-get update && apt-get install -y locales git
RUN localedef -f UTF-8 -i ko_KR ko_KR.UTF-8
ENV LC_ALL ko_KR.UTF-8
ENV PYTHONIOENCODING=utf-8