영어 텍스트의 문자 깨짐은 주로 em 대시(—), en 대시(–), 구부러진 따옴표(“,”, ‘, ’)와 같은 구두점에서 발생하지만, 대부분의 인코딩이 영어 알파벳의 인코딩에서 ASCII와 일치하므로 문자 텍스트에서는 거의 발생하지 않는다. 예를 들어, 파운드 기호 £는 발신자가 UTF-8로 인코딩했지만 수신자가 서유럽 인코딩(CP1252 또는 ISO 8859-1) 중 하나로 해석하면 `£`로 나타난다. CP1252를 사용하여 반복하면 `£`, `£`, `£`, `£` 등이 될 수 있다.
마찬가지로, 작은 따옴표(')는 UTF-8로 인코딩되어 Windows-1252로 디코딩될 때 `’`, `’`, `’` 등으로 바뀐다.
과거에는 일부 컴퓨터가 공급업체별 인코딩을 사용하여 영어 텍스트에서도 불일치가 발생했다. 코모도어 인터내셔널 브랜드 8비트 컴퓨터는 PETSCII 인코딩을 사용했는데, 표준 ASCII와 비교하여 대문자와 소문자를 뒤집는 것이 특히 주목할 만하다. PETSCII 프린터는 그 시대의 다른 컴퓨터에서도 잘 작동했지만, 모든 글자의 대소문자를 뒤집었다. IBM 메인프레임은 ASCII와 전혀 일치하지 않는 확장 이진화 십진법 교환 부호 인코딩을 사용한다.
북게르만어군, 카탈루냐어, 루마니아어, 핀란드어, 프랑스어, 독일어, 이탈리아어, 포르투갈어, 스페인어의 알파벳은 모두 라틴 음소문자의 확장이다. 추가 문자는 일반적으로 손상되는 문자이며, 문자 깨짐으로 인해 텍스트를 약간만 읽기 어렵게 만든다.
- 핀란드어 및 스웨덴어의 Å, Ä, Ö (š와 ž는 일부 핀란드어 차용어에 존재하며, é는 스웨덴어에서 주로 차용어에 미미하게 존재한다.)
- 카탈루냐어의 à, ç, è, é, ï, í, ò, ó, ú, ü
- 노르웨이어 및 덴마크어의 Æ, Ø, Å 및 모호성을 해소하기 위한 선택적 é 등의 양음 부호
- 네덜란드어의 á, é, ó, ij, è, ë, ï
- 독일어의 Ä, Ö, Ü 및 ß
- 페로어의 á, Ð, Í, ó, ú, ý, æ, ø
- 아이슬란드어의 á, ð, É, í, ó, ú, ý, Þ, æ, ö
- 프랑스어의 à, â, ç, è, é, ë, ê, ï, î, ô, ù, û, ü, ÿ, æ, œ
- 이탈리아어의 à, è, é, ì, ò, ù
- 스페인어의 á, é, í, Ñ, ó, ú, ü, ¡, ¿
- 포르투갈어의 à, á, â, ã, ç, é, ê, í, ó, ô, õ, ú (ü는 더 이상 사용되지 않음)
- 아일랜드어의 á, é, í, ó, ú
- 스코틀랜드 게일어의 à, è, ì, ò, ù
- 루마니아어의 ă, â, î, ș, ț
- 영국 영어의 £ (æ와 œ는 거의 사용되지 않으며, 일부 차용어의 é와 ê도 마찬가지이다.)
... 그리고 해당되는 경우 대문자도 마찬가지이다.
이들은 ISO 8859-1 문자 세트(라틴 1 또는 서양으로도 알려짐)가 사용되어 온 언어들이다. 그러나 ISO 8859-1은 두 개의 경쟁 표준인 하위 호환 Windows-1252와 약간 변경된 ISO 8859-15에 의해 구식화되었다. 둘 다 유로 기호 €와 프랑스어 œ를 추가하지만, 이 세 문자 세트의 혼동은 이러한 언어에서 문자 깨짐을 생성하지 않는다. 더욱이 ISO 8859-1을 Windows-1252로 해석하는 것은 항상 안전하며, ISO 8859-15로 해석하는 것은 상당히 안전하며, 특히 거의 사용되지 않는 국제 통화 기호 (¤)를 대체하는 유로 기호에 관해서는 더욱 그렇다. 그러나 UTF-8의 등장과 함께, UTF-8이 라틴-1 및 Windows-1252와 호환되지 않기 때문에 유닉스와 마이크로소프트 윈도우 컴퓨터 간의 텍스트 파일 교환과 같은 특정 시나리오에서 문자 깨짐이 더 흔해졌다. 그러나 UTF-8은 간단한 알고리즘으로 직접 인식될 수 있는 기능이 있어, 잘 작성된 소프트웨어는 UTF-8을 다른 인코딩과 혼동하는 것을 피할 수 있어야 하므로, 이는 많은 소프트웨어가 UTF-8을 지원하지 않던 시절에 가장 흔했다. 이러한 언어의 대부분은 MS-DOS 기본 코드 페이지 437 및 ASCII를 제외한 다른 기기 기본 인코딩에서 지원되었으므로 운영체제 버전 구매 시 문제는 덜 흔했다. 그러나 Windows와 MS-DOS는 호환되지 않는다.
스웨덴어, 노르웨이어, 덴마크어, 독일어에서는 모음이 거의 반복되지 않으며, 한 문자가 손상될 때 일반적으로 명확하게 알 수 있다. 예를 들어, 스웨덴어 단어 kärlek("사랑")의 두 번째 글자가 UTF-8로 인코딩되었지만 서유럽 인코딩으로 디코딩될 때 "kärlek"으로 렌더링되거나, 독일어의 "für"가 "für"로 바뀌는 경우이다. 이러한 방식으로 독자가 원본 문자를 추측해야 하더라도 거의 모든 텍스트는 읽을 수 있다. 반면에 핀란드어는 hääyö("결혼 밤")와 같은 단어에서 모음이 자주 반복되어 손상된 텍스트를 읽기 매우 어렵게 만들 수 있다(예: hääyö는 "hääyö"로 나타난다). 아이슬란드어는 10개의 잠재적인 혼동 문자를 가지고 있으며, 페로어는 8개를 가지고 있어 많은 단어가 손상되면 거의 완전히 알아볼 수 없게 된다(예: 아이슬란드어 þjóðlöð, "탁월한 환대",는 "þjóðlöð"으로 나타난다).
독일어에서는 Buchstabensalat("글자 샐러드")가 이 현상에 대한 일반적인 용어이며, 스페인어에서는 deformación(말 그대로 "변형")이 사용되고, 포르투갈어에서는 desformatação(말 그대로 "서식 해제")가 사용된다.
일부 사용자들은 컴퓨터를 사용할 때 문제가 되는 발음 구별 기호를 생략하거나, 이중음자 대체(Å → aa, Ä/Æ → ae, Ö/Ø → oe, Ü → ue 등)를 사용하여 글을 옮겨 적는다. 따라서 저자는 "über" 대신 "ueber"를 쓸 수 있는데, 이는 독일어에서 움라우트를 사용할 수 없을 때 표준적인 관행이다. 후자의 관행은 노르딕 국가보다 독일어권에서 더 잘 용인되는 것으로 보인다. 예를 들어, 노르웨이어에서는 이중음자가 고풍스러운 덴마크어와 연관되어 있으며 농담으로 사용될 수 있다. 그러나 이중음자는 세계의 다른 지역과의 의사소통에 유용하다. 예를 들어, 노르웨이 축구 선수 올레 군나르 솔셰르는 맨체스터 유나이티드에서 뛸 때 유니폼에 자신의 성이 "SOLSKJAER"로 표기되었다.
UTF-8이 ISO 8859-1로 잘못 해석되어 "Ring meg nå"가 "Ring meg nÃ¥"로 렌더링된 현상은 2014년 노르웨이를 대상으로 한 단문 메시지 서비스 스캠에서 관찰되었다.[6]
루마니아어에서도 같은 문제가 발생하며, 다음 예시들을 참조하라.
중앙유럽 및 동유럽 언어 사용자도 영향을 받을 수 있다. 1980년대 중반부터 후반까지 대부분의 컴퓨터가 어떤 네트워크에도 연결되지 않았기 때문에, 발음 구별 기호가 있는 모든 언어마다 서로 다른 문자 인코딩이 존재했으며(참조: ISO/IEC 8859 및 KOI-8), 종종 운영체제에 따라서도 달랐다.
헝가리어에서는 이 현상을 "글자 쓰레기"를 의미하는 'betűszemét'이라고 부른다. 헝가리어는 특히 이 현상에 취약했는데, 이는 라틴-1 문자 세트에 있는 모든 악센트 문자(á, é, í, ó, ú, ö, ü)와 라틴-1에 없는 ő 및 ű 두 문자를 포함하기 때문이다. 이 두 문자는 라틴-2, Windows-1250 및 유니코드에서 올바르게 인코딩될 수 있다. 그러나 유니코드가 이메일 클라이언트에서 보편화되기 전에는 헝가리어 텍스트가 포함된 이메일에서 ő 및 ű 문자가 종종 손상되어 알아보기 어려울 정도였다. 손상된 이메일에 모든 헝가리어 악센트 문자를 포함하는 의미 없는 구절인 "Árvíztűrő tükörfúrógép"(문자 그대로 "홍수 방지 거울 드릴링 머신")으로 답하는 것이 일반적이다.
| 헝가리어 예시 | 원본 인코딩 | 대상 인코딩 | 결과 | 발생 빈도 |
|---|---|---|---|---|
| ÁRVÍZTŰRŐ TÜKÖRFÚRÓGÉP árvíztűrő tükörfúrógép | ||||
| UTF-8 Quoted-printable | 7비트 ASCII | =C3=81RV=C3=8DZT=C5=B0R=C5=90 T=C3=9CK=C3=96RF=C3=9AR=C3=93G=C3=89P =C3=A1rv=C3=ADzt=C5=B1r=C5=91 t=C3=BCk=C3=B6rf=C3=BAr=C3=B3g=C3=A9p | 주로 잘못 구성된 메일 서버로 인해 발생하지만 일부 휴대폰의 단문 메시지 서비스 메시지에서도 발생할 수 있다. | |
| ISO 8859-2 Quoted-printable | =C1RV=CDZT=DBR=D5 T=DCK=D6RF=DAR=D3G=C9P =E1rv=EDzt=FBr=F5 t=FCk=F6rf=FAr=F3g=E9p | |||
| CWI-2 | 코드 페이지 437 | ÅRVìZTÿRº TÜKÖRFùRòGÉP árvíztûrô tükörfúrógép |
CWI-2 인코딩은 수신 측 장치가 기본 인코딩(코드 페이지 437 또는 코드 페이지 850) 중 하나를 사용하더라도 헝가리어 텍스트가 상당히 잘 읽힐 수 있도록 설계되었다. 이 인코딩은 1980년대 초반부터 1990년대 초반까지 매우 많이 사용되었지만, 오늘날에는 완전히 사라졌다. | |
| 코드 페이지 852 | ╡RV╓ZTδRè TÜKÖRFΘRαGÉP árvízt√rï tükörfúrógép |
MS-DOS 시절에 매우 흔했던 문제로, 텍스트가 종종 코드 페이지 852("중앙 유럽어")로 인코딩되었지만, 수신 측 소프트웨어가 코드 페이지 852를 지원하지 않고 대신 코드 페이지 437 또는 코드 페이지 850을 사용하여 텍스트를 표시하려고 시도했기 때문에 발생했다. 소문자는 ű와 ő를 제외하고는 대부분 올바르다. Ü/ü와 Ö/ö는 코드 페이지 437과 코드 페이지 850이 독일어와 호환되도록 만들어졌기 때문에 올바르다. 오늘날에는 드물지만, 인쇄된 처방전이나 수표 등에서 여전히 볼 수 있다. | ||
| 코드 페이지 850 | ÁRVÍZTÙRè TÜKÖRFÚRÓGÉP árvízt¹rï tükörfúrógép | |||
| Windows-1250 | µRVÖZTëRŠ TšK™RFéRŕG P rvˇztűr‹ t k"rfŁr˘g‚p |
두 인코딩 모두 중앙 유럽어이지만, 텍스트는 MS-DOS 인코딩으로 인코딩되고 Windows 인코딩으로 디코딩된다. ű의 사용은 올바르다. | ||
| Mac Roman | µRV÷ZTÎRä TöKôRFÈR‡GêP †rv°zt˚rã tÅkîrf£r¢gÇp |
MS-DOS 시절에도 흔했던 현상으로, 애플 컴퓨터가 DOS 또는 Windows 시스템에서 보낸 헝가리어 텍스트를 표시하려고 할 때 애플 고유의 인코딩으로 기본 설정되었기 때문에 발생할 수 있었다. | ||
| Windows-1250 | ¡RVÕZT€R’ T‹K÷RF⁄R”G…P ·rvÌzt˚rı t¸kˆrf˙rÛgÈp | |||
| 코드 페이지 852 | ┴RV═ZT█RŇ T▄KÍRF┌RËG╔P ßrvÝztűr§ tŘk÷rf˙rˇgÚp |
두 인코딩 모두 중앙 유럽어이지만, 텍스트는 Windows 인코딩으로 인코딩되고 DOS 인코딩으로 디코딩된다. ű의 사용은 올바르다. | ||
| Windows-1252 | ÁRVÍZTÛRÕ TÜKÖRFÚRÓGÉP árvíztûrõ tükörfúrógép |
기본 서유럽 Windows 인코딩 대신 중앙 유럽어 인코딩이 사용된다. ő-Ő(õ-Õ)와 ű-Ű(û-Û)만 틀리고, 텍스트는 완전히 읽을 수 있다. 이것은 오늘날 가장 흔한 오류이며, 무지 때문에 웹페이지나 인쇄 매체에서도 자주 발생한다. | ||
| UTF-8 | à RVà ZTŰRÅ TÜKÖRFÚRÃ"GÉP árvÃztűrÅ‘ tükörfúrógép |
주로 잘못 구성되거나 국제 사용에 대해 테스트되지 않은 웹 서비스 또는 웹메일 클라이언트로 인해 발생한다(영어 텍스트의 경우 문제는 숨겨져 있기 때문). 이 경우 실제(종종 생성된) 콘텐츠는 UTF-8이지만, 일부 오래된 소프트웨어는 HTML 헤더에 UTF-8이 명시적으로 지정되지 않으면 지역화된 인코딩으로 기본 설정될 수 있다. | ||
| Mac Roman | ÁRVÍZTŰRŐ TÜKÖRFÚRÓGÉP árvíztűrő tükörfúrógép |
1987년 ISO 8859-2가 만들어지기 전에 다양한 컴퓨팅 플랫폼 사용자들은 아미가에서는 AmigaPL, 아타리 ST에서는 Atari Club, 그리고 IBM PC에서는 Masovia, 코드 페이지 852, 마조비아 및 Windows-1250과 같은 자체 문자 인코딩을 사용했다. 초기 도스 컴퓨터를 판매하던 폴란드 회사들은 폴란드어 문자를 인코딩하는 서로 호환되지 않는 자체적인 방식을 만들었고, 단순히 EPROM 비디오 카드(일반적으로 컬러 그래픽스 어댑터, 강화 그래픽 어댑터, 또는 허큘리스 그래픽 카드)를 재프로그래밍하여 다른 컴퓨터 판매자들이 문자를 배치했던 위치와 전혀 상관없이 임의의 위치에 필요한 폴란드어 하드웨어 코드 페이지 글리프를 제공했다.
학계 및 사용자 그룹의 압력으로 ISO 8859-2가 지배적인 공급업체 소프트웨어의 제한된 지원과 함께 "인터넷 표준"으로 성공하면서 상황이 개선되기 시작했다(오늘날에는 대부분 유니코드로 대체되었다). 다양한 인코딩으로 인한 수많은 문제 때문에 오늘날에도 일부 사용자들은 폴란드어 발음 구별 기호 문자를 krzaczki([ˈkʂät͜ʂ.ki], 문자 그대로 "작은 관목")라고 부르곤 한다.
러시아어 및 기타 키릴 문자 기반 알파벳
[편집]문자 깨짐은 러시아어에서 구어적으로 krakozyabry(кракозя́бры ru)라고 불리며, 이는 키릴 문자 인코딩 시스템이 여러 개로 복잡해졌고 여전히 복잡한 문제로 남아 있다.[7] 소련과 초기 러시아 연방은 KOI 인코딩(Kod Obmena Informatsiey, Код Обмена Информацией, "정보 교환 코드"로 번역됨)을 개발했다. 이는 ASCII를 기반으로 라틴 문자 및 기타 일부 문자를 키릴 문자로 대체한 키릴 전용 7비트 KOI7로 시작되었다. 이어서 8비트 KOI8 인코딩이 등장했는데, 이는 확장 ASCII 확장으로, 7비트 KOI7의 코드에 해당하는 상위 비트 설정 옥텟으로만 키릴 문자를 인코딩한다. 이러한 이유로 러시아어와 같은 KOI8 텍스트는 8번째 비트를 제거한 후에도 부분적으로 읽을 수 있는데, 이는 8BITMIME을 인식하지 못하는 이메일 시스템 시대에 큰 장점으로 여겨졌다. 예를 들어, KOI8로 인코딩된 "Школа русского языка" (shkola russkogo yazyka)라는 단어가 상위 비트 제거 과정을 거치면 "[KOLA RUSSKOGO qZYKA"로 렌더링된다. 결국 KOI8은 러시아어와 불가리아어(KOI8-R), 우크라이나어(KOI8-U), 벨라루스어(KOI8-RU), 심지어 타지크어(KOI8-T)를 위한 다양한 변형을 가지게 되었다.
한편, 서양에서는 코드 페이지 866이 MS-DOS에서 우크라이나어와 벨라루스어뿐만 아니라 러시아어와 불가리아어도 지원했다. 마이크로소프트 윈도우의 경우, Windows-1251은 세르비아어 키릴 문자 및 기타 슬라브 키릴 문자 변형에 대한 지원을 추가했다.
가장 최근에는 유니코드 인코딩이 모든 언어의 거의 모든 문자, 포함한 모든 키릴 문자에 대한 코드 포인트를 포함한다.
유니코드 이전에는 텍스트 인코딩과 동일한 인코딩 시스템을 사용하는 글꼴을 일치시켜야 했다. 이를 실패하면 특정 텍스트와 글꼴 인코딩의 조합에 따라 특정 모양이 달라지는 읽을 수 없는 엉터리 문자가 생성되었다. 예를 들어, 라틴 알파벳으로 제한되거나 기본("서유럽") 인코딩을 사용하는 글꼴을 사용하여 비유니코드 키릴 텍스트를 보려고 시도하면, 일반적으로 발음 구별 기호가 있는 대문자 모음으로 거의 전적으로 구성된 텍스트가 나타난다(예: KOI8 "Библиотека"(biblioteka, 도서관)는 "âÉÂÌÉÏÔÅËÁ"가 되고, "Школа русского языка"(shkola russkogo yazyka, 러시아어 학교)는 "ûËÏÌÁ ÒÕÓÓËÏÇÏ ÑÚÙËÁ"가 된다). 코드 페이지 1251을 사용하여 KOI8 텍스트를 보거나 그 반대로 하면 대부분 대문자로 구성된 깨진 텍스트가 나타난다(KOI8과 코드 페이지 1251은 동일한 ASCII 영역을 공유하지만, KOI8은 코드 페이지 1251이 소문자를 가지는 영역에 대문자를 가지고 그 반대도 마찬가지이다).
월드 와이드 웹의 러시아어 부문 초기에는 KOI8과 코드 페이지 1251이 모두 흔했다. 거의 모든 웹사이트는 이제 유니코드를 사용하지만, 2023년 11월 기준[update] 전 세계 웹 페이지의 약 0.35%(모든 언어 포함)는 여전히 코드 페이지 1251로 인코딩되어 있으며, 0.003% 미만의 사이트만이 여전히 KOI8-R로 인코딩되어 있다.[8][9] HTML 표준에는 주어진 웹 페이지의 인코딩을 소스에서 지정하는 기능이 포함되어 있지만,[10] 이는 때때로 간과되어 사용자가 브라우저에서 인코딩을 수동으로 전환해야 한다.
불가리아어에서는 문자 깨짐을 종종 "원숭이 [알파벳]"을 의미하는 majmunica(маймуница)라고 부른다. 세르비아어에서는 "쓰레기"를 의미하는 đubre(ђубре)라고 부른다. 구 소련과는 달리, 남슬라브족은 KOI8과 같은 것을 사용한 적이 없으며, 유니코드 이전에 코드 페이지 1251이 지배적인 키릴 문자 인코딩이었다. 따라서 이 언어들은 러시아어보다 인코딩 비호환성 문제를 덜 겪었다. 1980년대에는 불가리아 컴퓨터들이 자체 MIK 인코딩을 사용했는데, 이는 CP866과 표면적으로는 유사하지만 호환되지 않는다.
| 원본 텍스트 | 원본 인코딩 | 대상 인코딩 | 결과 |
|---|---|---|---|
| 크라코자브르 | |||
| Windows-1251 | KOI8-R | йПЮЙНГЪАПШ | |
| KOI8-R | Windows-1251 | лТБЛПЪСВТЩ | |
| Windows-1252 | ëÒÁËÏÚÑÂÒÙ | ||
| MS-DOS 855 | Çá ÆÖóÞ¢áñ | ||
| Windows-1251 | Êðàêîçÿáðû | ||
| UTF-8 | ÐšÑ€Ð°ÐºÐ¾Ð·Ñ Ð±Ñ€Ñ‹ | ||
| KOI8-R | п я─п╟п╨п╬п╥я▐п╠я─я▀ (두 번째 문자는 줄 바꿈 없는 공백이다.) | ||
| MS-DOS 855 | лџЛђл░л║лЙлиЛЈл▒ЛђЛІ | ||
| Windows-1251 | Кракозябры | ||
| Mac Roman | –ö—Ä–∞–∫–æ–∑—è–±—Ä—ã | ||
| Mac Cyrillic | –Ъ—А–∞–Ї–Њ–Ј—П–±—А—Л |
크로아티아어, 보스니아어, 세르비아어 (세르보크로아트어에서 분리된 방언들) 및 슬로베니아어는 기본 라틴 알파벳에 š, đ, č, ć, ž와 그 대문자 Š, Đ, Č, Ć, Ž를 추가한다 (슬로베니아어에서는 č/Č, š/Š, ž/Ž만 공식적으로 사용되지만, 필요할 때 주로 외국어 이름에 다른 문자들도 사용된다). 이 모든 문자는 라틴-2 및 Windows-1250에 정의되어 있으며, 일부(š, Š, ž, Ž, Đ)만 일반적인 OS 기본 Windows-1252에 존재하는데, 이는 다른 언어들 때문인 것이다.
이러한 문자들 중 어느 것이든 문자 깨짐이 발생할 수 있지만, Windows-1252에 포함되지 않은 문자들이 오류에 훨씬 더 취약하다. 따라서 오늘날에도 "šđčćž ŠĐČĆŽ"는 종종 "šðèæž ŠÐÈÆŽ"로 표시되지만, ð, È, Æ는 슬라브어에서 사용되지 않는다.
기본 ASCII로 제한될 경우(예: 대부분의 사용자 이름), 일반적인 대체 문자는 š→s, đ→dj, č→c, ć→c, ž→z이다(대문자 형식은 단어의 대소문자에 따라 Đ→Dj 또는 Đ→DJ와 같이 유사하게 적용된다). 이러한 모든 대체는 모호성을 유발하므로, 이러한 형식에서 원본을 재구성하는 것은 필요한 경우 일반적으로 수동으로 이루어진다.
Windows-1252 인코딩은 지역화된 버전이 아닌 영어 버전의 Windows 운영체제가 가장 널리 사용되기 때문에 중요하다. 그 이유는 상대적으로 작고 파편화된 시장으로 인해 고품질 지역화 비용이 증가하고, 높은 수준의 소프트웨어 불법 복제(소득 대비 소프트웨어 가격이 높기 때문에 발생)로 인해 지역화 노력이 저해되며, 사람들이 영어 버전의 Windows 및 기타 소프트웨어를 선호하기 때문이다.
크로아티아어와 세르비아어, 보스니아어와 크로아티아어 및 세르비아어, 그리고 이제는 몬테네그로어와 다른 세 언어를 구분하려는 움직임은 많은 문제를 야기한다. 다양한 표준과 다양한 품질을 사용하는 다양한 지역화가 있다. 영어에서 유래한 방대한 컴퓨터 용어에 대한 공통 번역이 없다. 결국 사람들은 영어 차용어("computer"를 "kompjuter"로, "compile"을 "kompajlirati" 등으로)를 사용하며, 번역된 용어에 익숙하지 않은 경우 번역된 문구만으로는 메뉴의 어떤 옵션이 무엇을 해야 하는지 이해하지 못할 수 있다. 따라서 영어를 이해하는 사람들과 영어 용어에 익숙한 사람들(이러한 문제로 인해 학교에서도 영어 용어가 주로 가르쳐지기 때문에 대부분의 사람들)은 일반적으로 비전문가용 소프트웨어의 원본 영어 버전을 선택한다.
마케도니아어 및 부분적으로 세르비아어에 키릴 문자가 사용될 경우, 문제는 다른 키릴 문자 기반 문자와 유사하다.
최신 영어 Windows 버전에서는 코드 페이지를 변경할 수 있지만(이전 버전에서는 이 기능을 지원하는 특수 영어 버전이 필요함), 이 설정은 잘못 설정될 수 있고 종종 잘못 설정되었다. 예를 들어, 윈도우 98 및 윈도우 미는 1250을 포함한 대부분의 비우선순위 단일 바이트 코드 페이지로 설정할 수 있지만, 설치 시에만 가능하다.
또 다른 유형의 문자 깨짐은 단일 바이트 인코딩으로 인코딩된 텍스트가 동아시아 언어 중 하나와 같은 다중 바이트 인코딩으로 잘못 구문 분석될 때 발생한다. 이러한 종류의 문자 깨짐에서는 하나 이상의 (일반적으로 두 개) 문자가 한 번에 손상된다. 예를 들어, 스웨덴어 단어 kärlek이 Windows-1252로 인코딩되었지만 GBK를 사용하여 디코딩되면 "k鋜lek"으로 나타나는데, 여기서 "är"가 "鋜"로 구문 분석된다. 위의 문자 깨짐과 비교할 때, 이는 문제가 되는 Å, Ä 또는 Ö와 관련 없는 글자들이 없기 때문에 읽기 더 어렵고, 특히 Å, Ä 또는 Ö로 시작하는 짧은 단어에 문제가 된다(예: "än"은 "鋘"가 된다). 두 글자가 결합되기 때문에 문자 깨짐은 또한 더 무작위적으로 보인다(일반적인 세 가지보다 50가지 이상 많은 변형, 드문 대문자는 제외). 일부 드문 경우에는 "Bush hid the facts" 문장과 같이 특정 단어 길이 패턴을 포함하는 전체 텍스트 문자열이 잘못 해석될 수 있다.
베트남어에서는 이 현상을 chữ ma(한월: 𡨸魔, "귀신 문자") 또는 loạn mã(중국어 乱码에서 유래)라고 부른다. 컴퓨터가 UTF-8로 인코딩된 텍스트를 Windows-1258, TCVN3 또는 VNI로 디코딩하려고 할 때 발생할 수 있다. 베트남에서는 윈도우 비스타 이전 버전의 윈도우를 실행하는 컴퓨터나 저렴한 휴대폰에서 chữ ma가 흔히 목격되었다.
| 예시 | 원본 인코딩 | 대상 인코딩 | 결과 |
|---|---|---|---|
| Trăm năm trong cõi người ta 𤾓𢆥𥪞𡎝𠊛些 (쭈옌끼에우, 응우옌주) | |||
| UTF-8 | Windows-1258 | Trăm năm trong cõi ngưỠi ta đ¤¾“đ¢†¥đ¥ªžđ¡Ž đ Š›äº› | |
| TCVN3 | Tr¨m n¨m trong câi ngêi ta �¤¾��¢��¥¥ª��¡�����¾ä�� | ||
| VNI (Windows) | Traêm naêm trong coõi ngöôøi ta ����������������������� | ||
| Mac Roman | TrƒÉm nƒÉm trong c√µi ng∆∞·ªùi ta §æì¢Ü••™û°éù†äõ‰∫õ |
일본에서는 다양한 일본어 텍스트 인코딩이 많아 문자 깨짐이 특히 문제가 된다. 유니코드 인코딩(UTF-8 및 UTF-16) 외에도 Shift JIS(Windows 시스템) 및 EUC-JP(유닉스 시스템)와 같은 다른 표준 인코딩이 있다. 오늘날까지도 일본 시장을 위해 작성된 소프트웨어를 실행하려고 할 때 일본인과 비일본인 모두 문자 깨짐을 자주 접한다.
| 원본 텍스트 | 원본 인코딩 | 대상 인코딩 | 결과 |
|---|---|---|---|
| このメールは皆様へのメッセージです。 | |||
| UTF-8 | |||
| UTF-7 | ���̃��(�q���Y�_�C�G�b�g) | ||
| EUC-JP | �����<�若������罕��吾���<���祉�若�吾�с���� | ||
| Shift-JIS | 縺薙�繝。繝シ繝ォ縺ッ逧�ァ倥∈縺ョ繝。繝�そ繝シ繧ク縺ァ縺吶€� | ||
| Mac Roman | このメールは皆様へのメッセージです。 | ||
| ISO 8859-6 | ك “ك �كƒ�كƒ�كƒ�ك �هš†ن�˜ك �ك �كƒ�كƒƒك‚؛كƒ�ك‚�ك �ك ™ك€‚ | ||
| Windows-1252 | 㠓㠮メール㠯çš皆様㠸㠮メッセージ㠧㠙。 | ||
| EUC-JP | ¤³¤Î¥á¡¼¥ë¤Ï³§ÍͤؤΥá¥Ã¥»¡¼¥¸¤Ç¤¹¡£ | ||
| Shift-JIS | ‚±‚̃ [ƒ‹‚ÍŠF—l‚ւ̃ ƒbƒZ [ƒW‚Å‚· B |
중국어에서는 같은 현상을 '혼란스러운 코드'를 뜻하는 Luàn mǎ(한어병음, 간체자 乱码, 번체자 亂碼)라고 부르며, 컴퓨터 텍스트가 한 중국어 문자 인코딩으로 인코딩되었지만 잘못된 인코딩을 사용하여 표시될 때 발생할 수 있다. 이 경우 문자 인코딩을 변경하여 데이터 손실 없이 문제를 해결할 수 있는 경우가 많다. 이 상황은 여러 중국어 문자 인코딩 시스템(가장 일반적인 것은 유니코드, Big5, 궈뱌오 코드와 여러 하위 호환 버전)의 존재와 일본어 인코딩을 사용하여 중국어 문자가 인코딩될 가능성 때문에 복잡하다.
궈뱌오 인코딩에서 luànmǎ가 발생하면 원본 인코딩을 식별하기가 비교적 쉽다.
| 원본 텍스트 | 원본 인코딩 | 대상 인코딩 | 결과 | 비고 |
|---|---|---|---|---|
| 三國志曹操傳 | Big5 | GB | �T瓣в变巨肚 | 원본 의미를 거의 알 수 없는 깨진 문자. 빨간색 문자는 GB 2312에서 유효한 코드 포인트가 아니다. |
| 文字化けテスト | Shift-JIS | 暥帤壔偗僥僗僩 | 가나는 亻 부수(중국어: 單人旁, 병음: dānrénpáng)가 있는 문자로 표시되고, 한자는 다른 문자로 표시된다. 대체 문자 중 상당수는 현대 중국어에서 매우 드물다. 연속적인 亻 문자가 여러 개 나타나기 때문에 비교적 식별하기 쉽다. | |
| 디제이맥스 테크니카 | EUC-KR | 叼力捞钙胶 抛农聪墨 | 대부분의 경우 의미가 없는 임의의 간체자이다. 몇 문자마다 공백이 있기 때문에 식별하기 가장 쉽다. |
중국어에서 추가적인 문제는 개인이나 지명에 여전히 사용되는 희귀하거나 고풍스러운 문자가 일부 인코딩에 존재하지 않을 때 발생한다. 그 예시는 다음과 같다.
- Big5 인코딩에 중화민국 정치인 왕젠쉬엔(중국어 정체자: 王建煊, 병음: Wáng Jiànxuān)의 이름에 있는 "煊"(xuān), 유시쿤(중국어 간체자: 游锡堃, 정체자: 游錫堃, 병음: Yóu Xíkūn)의 이름에 있는 "堃"(kūn), 가수 타오저(중국어 정체자: 陶喆, 병음: Táo Zhé)의 이름에 있는 "喆"(zhé)가 없는 경우
- GB 2312에 전 PRC 총리 주룽지(중국어: 朱镕基, 병음: Zhū Róngjī)의 "镕"(róng)이 없는 경우
- GBK에 저작권 기호 "©"가 없는 경우[11]
신문사들은 누락된 문자를 다양한 방식으로 처리해왔는데, 이미지 편집 소프트웨어를 사용하여 다른 부수와 문자를 결합하여 합성하거나, 인물의 경우 사진을 사용하거나, 독자들이 올바른 추론을 할 수 있기를 바라며 단순히 동음이의어를 대체하는 식이다.
유사한 효과는 남아시아의 브라흐미계 문자에서도 발생할 수 있는데, 이는 힌두스탄어(힌디어-우르두어), 벵골어, 펀자브어, 마라티어 등과 같은 인도아리아어군에서 사용되며, 심지어 사용된 문자 세트가 애플리케이션에 의해 제대로 인식되는 경우에도 발생할 수 있다. 이는 많은 인도 문자에서 개별 글자 기호가 결합하여 음절 기호를 생성하는 규칙이 적절한 소프트웨어가 없는 컴퓨터에서는 제대로 이해되지 않을 수 있기 때문이며, 개별 글자 형태의 글리프가 사용 가능하더라도 마찬가지이다.
이것의 한 예시가 오래된 위키백과 로고인데, 여러 퍼즐 조각 각각에 "wi"(위키백과의 첫 음절)와 유사한 문자를 표시하려고 시도한다. 데바나가리 문자로 "wi" 문자를 나타내야 하는 퍼즐 조각은 대신 "wa" 문자와 짝을 이루지 않는 "i" 변형 모음을 표시했으며, 이는 인도어 텍스트를 표시하도록 구성되지 않은 컴퓨터에서 생성된 문자 깨짐으로 쉽게 인식할 수 있다.[12] 2010년 05월 기준[ref]에 다시 디자인된 로고는 이러한 오류들을 수정했다.
일반 텍스트의 개념은 운영 체제가 유니코드 코드를 표시할 글꼴을 제공해야 한다는 것이다. 이 글꼴은 싱할라어의 경우 OS마다 다르며, 모든 운영 체제에서 일부 글자(음절)에 대해 정형학적으로 틀린 글리프를 생성한다. 예를 들어, 짧은 'r' 형태인 '레프'는 일반적으로 일반 글자 위에 오는 발음 구별 기호이다. 그러나 특정 상황에서 '야'나 '라'와 같은 일부 글자 위에 오면 잘못된 것이다. 산스크리트어 단어나 현대 언어에 계승된 이름, 예를 들어 कार्य, IAST: kārya, 또는 आर्या, IAST: āryā의 경우 이러한 글자 위에 오는 것이 적절하다. 대조적으로, 현대 언어에서 특정 규칙으로 인해 발생하는 유사한 소리의 경우, 예를 들어 마라티어의 일반적인 단어 करणारा/री, IAST: karaṇārā/rī의 어간 형태인 करणाऱ्या, IAST: karaṇāryā와 같이 위에 오지 않는다.[13] 하지만 대부분의 운영 체제에서 이런 현상이 발생한다. 이는 글꼴의 내부 프로그래밍 문제로 보인다. Mac OS와 iOS에서는 muurdhaja l(어두운 l)과 'u' 조합 및 그 장형 모두 잘못된 형태를 생성한다.
일부 인도 및 인도계 문자, 특히 라오 문자는 윈도우 비스타 출시 전까지 윈도우 XP에서 공식적으로 지원되지 않았다.[14] 그러나 다양한 사이트에서 무료로 다운로드할 수 있는 글꼴을 만들었다.
서구의 제재[15]와 컴퓨터에 버마어 지원이 늦게 도입된 탓에,[16][17] 초기 버마어 지역화의 상당수는 국제 협력 없이 국내에서 이루어졌다. 버마어 지원의 주요 수단은 조지 글꼴을 통하는 것인데, 이 글꼴은 유니코드 글꼴로 만들어졌지만 실제로는 유니코드 준수가 부분적으로만 이루어졌다.[17] 조지 글꼴에서는 버마어 스크립트의 일부 코드 포인트는 유니코드에 명시된 대로 구현되었지만, 다른 일부는 그렇지 않았다.[18] 유니코드 컨소시엄은 이를 애드혹(ad hoc) 글꼴 인코딩이라고 부른다.[19] 휴대폰의 등장과 함께 삼성과 화웨이와 같은 모바일 공급업체는 유니코드 준수 시스템 글꼴을 조지 버전으로 단순히 대체했다.[16]
이러한 임시 인코딩으로 인해 조지 글꼴 사용자와 유니코드 사용자 간의 통신은 깨진 텍스트로 렌더링된다. 이 문제를 해결하기 위해 콘텐츠 제작자들은 조지 글꼴과 유니코드로 동시에 게시물을 작성하곤 했다.[20] 미얀마 정부는 2019년 10월 1일을 유니코드로 공식 전환하는 "U-데이"로 지정했다.[15] 전체 전환에는 2년이 걸릴 것으로 예상되었다.[21]