아�니 이 글자 왜 들어간 거예요? (2)

  • 관리자 신현승
  • 카테고리: 개발이슈
  • 조회수: 32
  • 작성일:

*이 글은

ockquote>

‘아�니 이 글자 왜 들어간 거예요?’
제한재 데니어 CTO

이번 글에서는 물음표 발생 원인과 해결 방법에 대해 설명합니다.

문제 분석 - �가 들어가는 이유 

알 수 없는 물음표 발생 원인을 분석합니다.

윈도우가 문제인가?: ‘euc-kr’

윈도우는 주로 euc-kr 인코딩을 사용하여 문자를 저장합니다. 이 표준은 약 2,350자의 한글만 포함해 전체의 20%에 불과하여 다양한 문제가 발생합니다.

인코딩 vs 문자표

인코딩은 문자를 저장하고 네트워크로 전송하는 방법이며, 문자표는 문자가 어떤 숫자에 대응하는지를 설명합니다.

한글 코드 표준화로 인한 문제 발생: KSC-5601 / euc-kr

euc-kr 표준화로 다양한 문제가 발생했습니다. 예를 들어, ‘서설믜’라는 이름은 해당 문자 범위에 없습니다.

cp949

euc-kr의 문제를 해결하기 위해 cp949 문자 셋이 등장했습니다. 그러나 이 방식은 가나다 정렬을 일관되게 유지하기 어렵습니다.

HTML에서의 euc-kr

euc-kr 페이지는 cp949로 표현되며, DOM의 textContent는 실제로 euc-kr로 처리됩니다.

UTF-8

UTF-8은 가변 길이로 텍스트를 표현하며, 한글을 보통 3바이트로 표현합니다. 자바스크립트는 UCS-2와 UTF-16을 사용합니다.

그렇다면 �는 뭘까? 

물음표는 UTF에서 표현할 수 없는 문자를 나타내는 U+FFFD로, 글자가 깨졌음을 나타냅니다.

문제 해결하기

최종적으로 문제를 파악하고 백엔드 로직을 수정하여 문제를 해결했습니다.

마치며

이번 글에서 유니코드와 한글 저장 방식을 이해하고, 문제 해결 과정을 별도로 확인하시길 바랍니다.


해당 기사는 GPT를 이용하여 요약한 내용입니다.

원문보기


코멘트 (0)