문자 깨짐

1 개요

일본어: 文字化け(もじばけ)

문자가 올바르게 표시되지 않는 경우. 크게 세 가지의 경우가 있다.

2 일어나는 경우

2.1 다른 인코딩으로 읽었을 경우

이 한국에서 쓰이기 힘든 이유[1]
텍스트 작성에 쓰인 문자 인코딩과 텍스트를 열 때의 문자 인코딩이 다른 경우이다. EUC-KR(또는 CP949)로 작성된 텍스트를 Windows-1252로 열었을 경우, 또는 Shift_JIS로 작성된 텍스트를 CP949로 열었을 경우(이 경우는 '뷁어'라고 부르기도 한다) 등이 있다. 이런 경우는 텍스트 작성에 쓰인 문자 인코딩으로 다시 읽어 주거나, 인터넷에서 '뷁어 번역기'를 다운 받으면 정상적인 텍스트를 볼 수 있다. 또한 유니코드와 비유니코드 인코딩 간, 심지어는 유니코드 인코딩(UTF-7, UTF-8, UTF-16, UTF-32)끼리도 문자가 깨진다. 같은 UTF-16이어도 빅 엔디언/리틀 엔디언에 따라서도 깨지는 경우가 적지 않다. 더 나아가 서로 다른 유니코드 정규화 방식(NFC(Windows) or NFD(macOS))에 따라 문자 조합에 뼈와 살이 분리되기도 한다(...)

  • EUC-KR/CP949 ↔ Windows-1252
    • 문자 깨짐 테스트 ↔ ¹®ÀÚ ±úÁü Å×½ºÆ®
  • Windows-1252 ↔ CP949
    • ’s ↔ 뭩
    • °C ↔ 캜, °F ↔ 캟
  • Shift_JIS ↔ CP949
  • EUC-CN ↔ EUC-KR/CP949
  • WindowsmacOS
    • 똠방각하 ↔ ㄸㅗㅁㅂㅏㅇㄱㅏㄱㅎㅏ
  • 기타

어째 리겜 관련된 게 대부분이다
븜스가 일본 - 한국으로 넘어오면서 자연스럽게 많아질 수 밖에 없다.

여담으로 이런 문자 깨짐을 번역하여 해결하기 위한 '뷁어 번역기'프로그램도 등장했다.

2.2 정보 자체가 손실된 경우

텍스트 저장 과정에서 문제가 생긴 경우로, 원문을 완전히 복원해 낼 수 없다. UTF-8로 문서를 저장할 때 저장 과정에 문제가 생겨 일부 텍스트가 �(U+FFFD, REPLACEMENT CHARACTER[2])로 변하는 경우 등이 이에 해당된다. 한때 이글루스를 환장하게 만들었던 占쏙옙도 이와 관련이 있다.

현재 사용 중인 문자 인코딩이 처리할 수 없는 문자를 넣고 저장한 경우에도 이런 문제가 생긴다(예: 한글이 섞인 문서를 Shift_JIS로 저장한 경우). 이 경우는 보통 저장 과정에서 해당 문자가 ?로 대체되므로 원문을 복원해 낼 수 없다.

2.3 문자를 표시해 줄 글꼴이 없는 경우

이는 문자 인코딩과는 관련이 없고 정보 손실과도 상관이 없다. 코드 값 자체는 손실 없이 그대로 보존됐으나, 사용 중인 시스템에서 해당 코드 값을 가진 문자를 지원하는 글꼴이 없어서 올바른 모양으로 보여 줄 수 없는 경우이다. 주로 유니코드에 추가된 지 얼마 되지 않은 문자(예: 새로 추가된 이모지)를 쓸 때 이 문제가 생기는데, 단순히 그 문자를 지원하는 글꼴을 적용하면 된다.

파일:폰트깨짐-왜날뷁.png

현대 한글 11172자 중 KS X 1001 완성형의 2350자만 지원하는 글꼴을 사용하는 경우에도 이런 현상을 볼 수 있다. 그런 글꼴로 '정말 스럽군!'이라고 써 보면 '정말'과 '스럽군!'은 제대로 표시되지만 '뷁'은 글꼴에서 지원되지 않아서 정말 뷁스럽게 문자 깨짐 현상이 일어난다.
  1. 일단 지원 프로그램이 한일 양국에서 별로 없으며, 한국어 이름을 가진 파일을 다운받으면 ±‘µµ∫Œ≥Î ∫Œ¡∂ ≥™ ≥≠≈◊ 이런 식으로 깨지는데, 서버들이 UTF-8을 사용하지 않고 EUC-KR등의 코드페이지를 사용하기에 발생한다. EUC-KR을 사용하는 큰 사이트중 하나로는 네이버 카페가 있다.
  2. Replacement Character는 '대체 문자'를 의미한다.