1. 소개 Ubuntu를 사용하면 특정 상황에서 문자 깨짐이 발생할 수 있습니다. 예를 들어 터미널 출력, 일본어 파일명 표시, 브라우저에서 일본어 페이지를 볼 때 등 환경에 따라 증상이 다양합니다. 특히 기본 설정 그대로이면 일본어가 올바르게 표시되지 않는 경우가 많아 적절한 설정이 필요합니다. 본 기사에서는 Ubuntu에서 발생하는 문자 깨짐의 원인과 이를 해결하는 구체적인 방법을 설명합니다. 대상 독자는 다음과 같습니다.Ubuntu 초보자이며, 일본어 표시 설정을 아직 하지 않은 분 문자 깨짐의 원인을 알고 근본적인 해결책을 찾고 있는 분 터미널이나 GUI 환경에서 문자 깨짐이 발생하고, 대처 방법을 알고 싶은 분 그럼 먼저 Ubuntu에서의 문자 깨짐 주요 원인을 살펴보겠습니다.2. 문자 깨짐의 주요 원인 로케일 설정의 부재 Ubuntu의 로케일(locale)은 시스템의 언어와 날짜 형식을 결정하는 환경 설정을 의미합니다. 이것이 올바르게 설정되지 않으면 일본어가 표시되지 않거나 문자 깨짐이 발생할 수 있습니다. 예를 들어, locale
명령을 실행했을 때 아래와 같이 “C”나 “POSIX”가 표시되는 경우, 로케일이 적절히 설정되지 않았을 가능성이 있습니다。$ locale
LANG=C
LC_ALL=
원래 일본어 환경에서는 LANG=ja_JP.UTF-8
와 같이 설정되어 있는 것이 바람직합니다.폰트 미설정 및 부족 Ubuntu의 기본 상태에서는 일본어 폰트가 설치되어 있지 않은 경우가 있습니다. 따라서 일본어 텍스트가 적절히 표시되지 않아 사각형 박스(□)나 의미 없는 기호가 나타날 수 있습니다。 특히, 다음과 같은 상황에서 폰트가 부족한 것이 확인됩니다。GUI 애플리케이션의 메뉴와 버튼이 문자 깨짐을 보이고 있다 텍스트 편집기에서 일본어를 열면 문자 깨짐이 발생한다 문자 인코딩 불일치 Ubuntu에서는 주로 UTF-8
이 표준으로 사용되지만, 외부에서 Shift_JIS
나 EUC-JP
와 같은 다른 문자 인코딩 파일을 열 경우 문자 깨짐이 발생할 수 있습니다。 예를 들어, Windows 환경에서 만든 파일을 Ubuntu에서 열면 다음과 같은 현상이 발생할 수 있습니다。텍스트 편집기에서 열면 의미 없는 기호가 표시된다 터미널에서 cat
명령을 실행하면 문자가 깨진다 터미널 및 편집기 설정 오류 터미널이나 편집기가 적절히 설정되지 않으면 UTF-8로 인코딩된 파일이라도 올바르게 표시되지 않을 수 있습니다。터미널의 인코딩 설정이 UTF-8
이 아닌 경우 Vim이나 VSCode와 같은 편집기에서 문자 인코딩 자동 판별이 작동하지 않는다 less
나 cat
으로 표시할 때, 일본어 부분만 “?”나 “◇”가 된다
3. 로케일 설정 확인 및 수정 로케일 설정 확인 방법 먼저, 현재 로케일 설정을 확인하려면 아래 명령을 실행합니다.locale
출력 결과 예시:LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=
이 경우, LANG=C
로 되어 있어 일본어 환경이 적절히 설정되지 않았음을 알 수 있습니다. 일본어 환경에서는 아래와 같이 설정되는 것이 바람직합니다。LANG=ja_JP.UTF-8
LC_ALL=ja_JP.UTF-8
일본어 로케일 설치 및 설정 1. 일본어 로케일 확인 및 추가 시스템에 일본어 로케일이 설치되어 있는지 확인하려면 아래 명령을 실행합니다。locale -a | grep ja_JP
출력 결과 예시:ja_JP.eucJP
ja_JP.utf8
만약 ja_JP.utf8
가 목록에 표시되지 않으면, 일본어 로케일을 설치해야 합니다。 아래 명령을 실행하여 일본어 로케일을 추가합니다。sudo apt update
sudo apt install -y language-pack-ja
다음으로, 로케일을 활성화하기 위해 아래 명령을 실행합니다。sudo locale-gen ja_JP.UTF-8
sudo update-locale LANG=ja_JP.UTF-8
2. 시스템 로케일 설정 로케일 변경을 시스템 전체에 적용하려면 아래 명령을 실행합니다。export LANG=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8
이 설정을 영구화하기 위해 ~/.bashrc
또는 ~/.profile
에 추가합니다。echo 'export LANG=ja_JP.UTF-8' >> ~/.bashrc
echo 'export LC_ALL=ja_JP.UTF-8' >> ~/.bashrc
source ~/.bashrc
또는 모든 사용자에게 적용하려면 아래 파일을 편집합니다。sudo nano /etc/default/locale
아래 내용을 추가하거나 수정합니다。LANG=ja_JP.UTF-8
LC_ALL=ja_JP.UTF-8
설정을 적용하려면 로그아웃 후 다시 로그인하거나 재부팅합니다。
4. 폰트 설치 및 설정 일본어 폰트의 필요성 Ubuntu의 기본 상태에서는 일본어 폰트가 설치되어 있지 않을 수 있습니다. 따라서 일본어 텍스트가 제대로 표시되지 않아 사각형 박스(□)나 의미 없는 기호가 나타날 수 있습니다。 특히, 다음과 같은 상황에서 폰트가 부족한 것이 확인됩니다。GUI 애플리케이션의 메뉴와 버튼이 문자 깨짐 현상이 있다 텍스트 편집기에서 일본어를 열면 문자 깨짐이 발생한다 권장되는 일본어 폰트 Ubuntu에서 사용할 수 있는 일본어 폰트에는 다음과 같은 것이 있습니다。폰트명 특징 Noto Sans CJK JP Google이 제공하는 고품질 일본어 폰트(기본 권장) Takao 폰트 예전 Ubuntu 표준 폰트(얇은 글씨·굵은 글씨 포함) IPA 폰트 정보처리추진기구(IPA)가 제공하는 고품질 폰트 VL 고딕 가시성이 높고 터미널에 최적
폰트 설치 방법 1. Noto Sans CJK JP(기본 권장 폰트) sudo apt update
sudo apt install -y fonts-noto-cjk
2. Takao 폰트 sudo apt install -y fonts-takao
3. IPA 폰트(정보처리추진기구) sudo apt install -y fonts-ipafont
4. VL 고딕(터미널용) sudo apt install -y fonts-vlgothic
설치가 완료되면 시스템을 재시작하거나 폰트 캐시를 업데이트하여 설정을 반영합니다。fc-cache -fv
폰트 설정 방법 GUI 앱에서의 폰트 설정 ‘설정’ 앱을 연다 ‘폰트’ 섹션을 연다 ‘표준 폰트’, ‘문서 폰트’, ‘고정폭 폰트’를 원하는 폰트로 변경한다 로그아웃하고 다시 로그인하여 설정을 적용한다 터미널에서의 폰트 설정 터미널을 연다 메뉴의 ‘설정’ → ‘프로파일 편집’을 선택한다 ‘폰트’ 섹션에서 ‘사용자 정의 폰트 사용’에 체크한다 원하는 폰트(예: Noto Sans Mono CJK JP)를 선택한다 설정을 저장하고 터미널을 재시작한다 설정 반영 및 확인 폰트 설정이 올바르게 적용되었는지 확인하려면 다음 방법을 시도해 보세요。fc-list
명령으로 설치된 폰트를 확인한다fc-list | grep "Noto"
터미널에서 일본어 표시를 확인한다 echo "안녕하세요, Ubuntu의 문자 깨짐 대책"
GUI 앱(Firefox, LibreOffice 등)에서 일본어가 올바르게 표시되는지 확인한다
5. 문자 코드 확인 및 변환 문자 코드는 무엇인가? 문자 코드는 문자를 디지털 데이터로 다루기 위한 규칙입니다. 대표적인 문자 코드에는 다음과 같은 것들이 있습니다.문자 코드 특징 주요 용도 UTF-8 다국어 지원, Linux 표준 Ubuntu 및 웹 개발 Shift_JIS 일본어 특화, Windows 주류 Windows 앱, 구형 시스템 EUC-JP UNIX 계열에서 사용됨 오래된 Linux 시스템 ISO-2022-JP 메일 및 일부 환경에서 사용 메일 송수신
Ubuntu에서는 UTF-8 이 표준으로 사용되기 때문에, 다른 문자 코드로 저장된 파일을 열면 문자 깨짐이 발생할 수 있습니다.파일의 문자 코드를 확인하는 방법 1. file
명령을 사용한다 file -i sample.txt
출력 예시:sample.txt: text/plain; charset=iso-8859-1
2. nkf
명령을 사용한다 sudo apt install -y nkf
nkf --guess sample.txt
출력 예시:Shift_JIS (CRLF)
문자 코드 변환 방법 1. iconv
명령을 사용한다 Shift_JIS → UTF-8 변환 예시: iconv -f SHIFT_JIS -t UTF-8 sample.txt -o sample_utf8.txt
EUC-JP → UTF-8 변환 예시: iconv -f EUU-JP -t UTF-8 sample.txt -o sample_utf8.txt
2. nkf
명령을 사용한다 Shift_JIS → UTF-8 변환 예시: nkf -w sample.txt > sample_utf8.txt
EUC-JP → UTF-8 변환 예시: nkf -w --overwrite sample.txt
터미널 및 에디터에서의 문자 깨짐 대책 1. less
명령을 사용해 올바르게 표시한다 export LESSCHARSET=utf-8
less sample.txt
2. vim
으로 문자 코드를 지정해 연다 vim -c "set encoding=utf-8" sample.txt
3. gedit
및 VSCode
에서 문자 코드를 변경한다 gedit sample.txt
로 파일을 연다‘다른 이름으로 저장’ 시 ‘인코딩’을 UTF-8
로 변경한다 VSCode (Visual Studio Code)화면 하단의 ‘인코딩’을 클릭한다 UTF-8
로 변환한다
6. 터미널 및 에디터 설정 확인 터미널 설정 확인 및 수정 1. 터미널 인코딩 설정 확인 현재 환경 변수를 확인하려면 다음 명령을 실행합니다.echo $LANG
echo $LC_ALL
출력 예시(올바르게 설정된 경우) ja_JP.UTF-8
ja_JP.UTF-8
만약 C 나 POSIX 등이 되어 있는 경우는, 적절한 로케일 (ko_JP.UTF-8)로 변경할 필요가 있습니다. (일본의 경우)2. 터미널 폰트 설정 GNOME Terminal(기본 터미널) 터미널을 연다 메뉴의 「설정」 을 연다 「프로파일 편집」 → 「텍스트」탭을 연다 「커스텀 폰트 사용」을 활성화하고, 아래 중 하나를 선택한다 Noto Sans Mono CJK JP VL Takao 설정을 저장하고 터미널을 재시작한다 텍스트 에디터 문자 인코딩 설정 1. Vim의 문자 인코딩 설정 현재 설정을 확인하려면 Vim을 열고 아래 명령을 실행합니다.:set encoding?
:set fileencoding?
출력 예시:encoding=utf-8
fileencoding=utf-8
utf-8가 아닌 경우, Vim 설정 파일(~/.vimrc
)에 아래를 추가하여 기본값을 UTF-8로 변경합니다.set encoding=utf-8
set fileencodings=utf-8,sjis,euc-jp
set fileformats=unix,dos,mac
2. Nano의 문자 인코딩 설정 기본 설정을 변경하려면 설정 파일(~/.nanorc
)에 아래를 추가합니다.set encoding "utf-8"
3. VSCode(Visual Studio Code)의 문자 인코딩 설정 에디터 화면 오른쪽 아래에 있는 「인코딩」 을 클릭한다 「인코딩 변경」 에서 UTF-8
을 선택한다필요에 따라 「인코딩 포함 저장」 을 실행한다 또한, 기본 설정을 UTF-8
로 하려면, 설정 파일(settings.json) 에 아래를 추가한다."files.encoding": "utf8"
7. 사례별 대처법 GUI 애플리케이션에서의 문자 깨짐 대책 1. Firefox와 Chrome에서 일본어 표시가 깨지는 경우 해결책: 필요한 폰트를 설치한다 sudo apt install -y fonts-noto-cjk fonts-ipafont
브라우저의 폰트 설정을 확인한다 Firefox: about:preferences
에 접근하고, “폰트와 색상” → “고급 설정”을 연다“비례 폰트”와 “고정폭 폰트”를 Noto Sans CJK JP
로 변경한다 Chrome: chrome://settings/fonts
에 접근한다“표준 폰트”와 “고정폭 폰트”를 Noto Sans CJK JP
로 변경한다 2. LibreOffice에서의 일본어 문자 깨짐 해결책: fonts-noto-cjk
와 fonts-ipafont
를 설치한다LibreOffice 설정을 변경한다 “도구” → “옵션” → “LibreOffice” → “폰트” “표준 폰트”를 Noto Sans CJK JP
로 변경한다 CUI 환경에서의 문자 깨짐 대책 1. SSH 연결 시 문자 깨짐 해결책: 서버 측에서 locale
을 확인하고, ja_JP.UTF-8
인지 체크한다 locale
ja_JP.UTF-8
가 아닌 경우, 아래를 실행한다sudo apt install -y language-pack-ja
sudo locale-gen ja_JP.UTF-8
sudo update-locale LANG=ja_JP.UTF-8
특정 애플리케이션에서의 문자 깨짐 대책 1. WSL(Windows Subsystem for Linux)에서의 문자 깨짐 해결책: WSL의 로케일을 ja_JP.UTF-8
로 설정한다 echo 'export LANG=ja_JP.UTF-8' >> ~/.bashrc
echo 'export LC_ALL=ja_JP.UTF-8' >> ~/.bashrc
source ~/.bashrc
Windows 터미널의 폰트를 Noto Sans Mono CJK JP
로 변경한다 2. Docker 컨테이너 내의 문자 깨짐 해결책: Docker 컨테이너에 들어가 로케일을 확인한다 docker exec -it container_name bash
locale
일본어 로케일을 추가한다 apt update && apt install -y locales
locale-gen ja_JP.UTF-8
export LANG=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8
8. FAQ(자주 묻는 질문) Q1. 로케일을 설정했는데도 문자 깨짐이 해결되지 않습니다. A: 로케일을 적절히 설정해도 문자 깨짐이 해결되지 않을 경우, 아래를 확인하십시오。locale
LANG=ja_JP.UTF-8
가 아니면, 재설정이 필요합니다。sudo update-locale LANG=ja_JP.UTF-8
sudo locale-gen ja_JP.UTF-8
sudo dpkg-reconfigure locales
Q2. 특정 파일만 문자 깨짐이 발생합니다. A: 파일마다 문자 인코딩이 다를 가능성이 있습니다. 아래 방법으로 문자 인코딩을 확인하십시오。file -i sample.txt
만약 UTF-8
이 아니면, 변환이 필요합니다。iconv -f SHIFT_JIS -t UTF-8 sample.txt -o sample_utf8.txt
또는, nkf
를 사용할 경우:nkf -w --overwrite sample.txt
Q3. 터미널에서 일본어 입력이 안 됩니다. A: 일본어 입력 메소드(Fcitx나 IBus)가 설치되어 있는지 확인하십시오。sudo apt update
sudo apt install -y fcitx-mozc
im-config -n fcitx
Q4. WSL(Windows Subsystem for Linux)에서 일본어가 문자 깨짐이 발생합니다。 A: WSL의 로케일을 ja_JP.UTF-8
로 설정합니다。echo 'export LANG=ja_JP.UTF-8' >> ~/.bashrc
echo 'export LC_ALL=ja_JP.UTF-8' >> ~/.bashrc
source ~/.bashrc
Q5. Docker 컨테이너 내에서 일본어가 문자 깨짐이 발생합니다。 A: Docker 컨테이너의 로케일이 C.UTF-8
이면 일본어가 올바르게 표시되지 않습니다。apt update && apt install -y locales
locale-gen ja_JP.UTF-8
export LANG=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8
Q6. Ubuntu GUI 앱에서 메뉴와 대화 상자가 문자 깨짐이 발생합니다。 A: fonts-noto-cjk
를 설치하고, 폰트 설정을 변경합니다。sudo apt install -y fonts-noto-cjk fonts-ipafont
9. 요약 본 기사에서는 Ubuntu에서 발생하는 문자 깨짐 문제 에 대해 원인과 해결 방법을 자세히 설명했습니다. 문자 깨짐은 로케일 설정 오류, 폰트 미설치, 문자 인코딩 불일치 등이 원인으로 발생하지만, 적절히 설정하면 방지할 수 있습니다.1. 문자 깨짐의 주요 원인 로케일 설정 오류 :Ubuntu의 기본 언어가 C
또는 POSIX
인 경우 일본어가 올바르게 표시되지 않음폰트 미설정 :일본어 폰트가 설치되지 않으면 GUI 및 터미널에서 문자 깨짐이 발생문자 인코딩 불일치 :다른 문자 인코딩(예: Shift_JIS) 파일을 열면 문자 깨짐이 발생터미널 및 에디터 설정 오류 :UTF-8로 설정되지 않으면 올바르게 표시되지 않음2. 문자 깨짐을 해결하는 방법 항목 해결 방법 로케일 설정 locale
명령으로 확인하고, update-locale LANG=ja_JP.UTF-8
를 실행폰트 설치 sudo apt install -y fonts-noto-cjk fonts-ipafont
문자 인코딩 확인 file -i
와 nkf --guess
로 파일의 문자 인코딩을 확인문자 인코딩 변환 iconv -f SHIFT_JIS -t UTF-8 파일명 -o 변환후 파일명
터미널 설정 LESSCHARSET=utf-8
를 설정하고, 폰트를 Noto Sans Mono CJK JP
로 변경GUI 문자 깨짐 폰트를 Noto Sans CJK JP
로 설정하고, 필요에 따라 gnome-tweaks
를 사용 WSL 문자 깨짐 LANG=ja_JP.UTF-8
를 설정하고, 폰트를 변경Docker 문자 깨짐 locale-gen ja_JP.UTF-8
를 실행하고, Dockerfile에서 로케일을 설정
3. 추가 대책 정기적으로 시스템 업데이트 :Ubuntu 패키지가 오래되면 일본어 환경에 영향을 줄 수 있음sudo apt update && sudo apt upgrade -y
설정 영구화 :변경을 ~/.bashrc
와 ~/.profile
에 추가하면 로그인 시 적용백업을 수행 :/etc/default/locale
등 설정 파일을 변경하기 전에 백업요약 Ubuntu에서 발생하는 문자 깨짐 문제는,로케일·폰트·문자코드·터미널 설정 의 4가지 요소를 적절히 설정함으로써 해결할 수 있습니다. 본 기사에서 소개한 방법을 적용하면 대부분의 환경에서 문자 깨짐을 방지할 수 있을 것입니다.