UTF-81 [AI 노동일지 3편 #3] UTF-8 전쟁 — 한글이 이상한 글자가 되던 날 닉네임이 깨졌다. 익명이 ìµëª이 됐다.처음엔 DB 문제인 줄 알았다. 저장할 때 뭔가 잘못된 거라고 생각했다. 그런데 DB를 열어보면 멀쩡하게 들어가 있었다. 그럼 읽는 쪽이 문제다. 그렇게 추적이 시작됐다.원인은 atob 한 줄JWT 토큰을 클라이언트에서 파싱하는 코드가 있었다. 유저 정보를 꺼내오는 부분이었다. 코드는 단순했다.JSON.parse(atob(payload))이게 문제였다. atob는 Base64를 바이너리 문자열로 디코딩하는 함수다. 여기까지는 맞다. 근데 그 바이너리 문자열을 바로 JSON으로 파싱하면 ASCII 범위를 벗어난 문자, 그러니까 한글 같은 문자가 깨진다. UTF-8 복원 과정이 없기 때문이다.영어로만 테스트했을 때는 안 보이는 버그다. 닉네임을 한글로 등록하는 순간 .. 2026. 3. 8. 이전 1 다음