웹 개발 중 발생한 싱글 쿼트와 아포스트로피 관련 오류 해결 과정
웹 개발 과정에서 동일한 코드가 다른 컴퓨터에서는 정상 작동하지 않는 문제를 경험하였습니다. 분석이 가능할 정도로 짧은 코드였지만, 컴퓨터마다 작동하는 방식에 차이가 있었습니다.
원인을 찾기 위해 노력하던 중, 코드의 한 속성 값이 싱글 쿼트(single quote, '
) 대신 아포스트로피(apostrophe, ‘
)로 묶여 있는 것을 발견하였습니다. (예: 'aa'
→ ‘aa'
) 이는 파일 이동 과정에서 자동 치환된 것으로 보입니다.
현재 문제의 복잡성은 아포스트로피를 싱글 쿼트로 변경하면 오류가 발생한다는 점에 있었습니다. 일반적으로 이와 반대의 경우에 오류가 발생해야 합니다.
인터넷 검색 결과 일부 소스에서는 아포스트로피와 싱글 쿼트를 동일한 문자로 처리하는 경우가 있었습니다. ASCII 코드에서도 두 문자는 동일하게 처리되지만 유니코드에서는 다르게 처리합니다(유니코드 아포스트로피 참조).
그러던 중, 문서 에디터에 따라 캐릭터셋이 다를 수 있다는 생각이 들어 모든 컴퓨터의 캐릭터셋을 UTF-8로 맞추었습니다. 이로 인해 오류가 해결되었지만, 특정 속성만 아포스트로피로 동작한 원인은 아직 불명확합니다.
0 개의 댓글:
Post a Comment