곡선 따옴표와 대시가 코드를 망가뜨릴 때: 직선으로 바꾸는 법
곡선 따옴표, 곡선 아포스트로피, en·em 대시, 줄바꿈 없는 공백은 일반 문자와 똑같이 보이지만 컴퓨터는 서로 다른 문자로 인식해요. 코드, CSV 파일, 스프레드시트 수식, 명령줄은 일반 문자를 기대해요. 복사한 따옴표는 문자열이 아니게 되고, 옵션 앞의 이중 하이픈은 대시로 바뀌고, 줄바꿈 없는 공백 때문에 프로그램이 줄을 읽지 못할 수도 있어요. 코드에 붙여넣기 전에 문자를 직선으로 바꾸고, 실제로 실행될 환경에서 결과를 확인하세요.
텍스트 줄바꿈 정리붙여넣은 텍스트의 줄이 자꾸 끊어져요무료로 사용하기문자가 생기는 곳
워드 프로세서와 많은 이메일 프로그램은 입력할 때 직선 따옴표를 곡선 따옴표로 바꿔요. 이를 스마트 따옴표라고 해요. 워드는 하이픈 두 개를 대시 하나로 바꾸기도 해요. 웹 페이지와 일부 편집기는 두 단어를 한 줄에 묶어 두는 줄바꿈 없는 공백(U+00A0)을 넣어요. 이 문자들은 타이포그래피상 올바르지만, 프로그램이 읽는 곳에서는 잘못된 문자예요.
무엇이 깨지고 어디서 깨지나
| 위치 | 무엇이 잘못되나 |
|---|---|
| 소스 코드 | 곡선 따옴표는 문자열 구분자가 아니어서, 많은 언어가 문자열 밖의 곡선 따옴표나 줄바꿈 없는 공백을 거부해요 |
| 셸 명령어 | en 대시로 입력한 대시는 옵션 표시가 아니어서, 프로그램이 알 수 없는 인수로 읽어요 |
| CSV 파일 | 파서는 필드를 직선 큰따옴표로 감싸므로, 곡선 따옴표로는 필드 안의 쉼표를 보호하지 못해요 |
| 스프레드시트 수식 | 곡선 따옴표가 텍스트의 일부가 되거나, 수식이 오류를 표시해요 |
| JSON | 곡선 따옴표는 올바른 문자열 구분자가 아니어서, 파서가 실패해요 |
CSV 파일이 따르는 따옴표 규칙은 CSV를 JSON으로 변환하는 가이드를 참고하세요.
fixmint에서 직선으로 바꾸기
세 가지 도구가 일반적인 경우를 다루며, 각각 다루는 문자 종류가 달라요.
- 곡선 따옴표. 붙여넣은 텍스트 줄바꿈 정리를 열고 곡선 따옴표 직선으로 바꾸기를 체크하세요. 곡선 작은따옴표와 아포스트로피는 직선 작은따옴표로, 곡선 큰따옴표는 직선 큰따옴표로 바꿔요. 대시는 그대로 둬요. 줄 다듬기, 반복 공백 합치기 같은 다른 옵션은 기본으로 체크되어 있어요.
- 대시, 줄임표, 특수 공백. 숨은 문자 제거를 열고 곡선 따옴표, en/em 대시, …도 일반 ASCII로 변환을 체크하세요. 대시는 하이픈으로, 줄임표는 점 세 개로 바뀌어요. 줄바꿈 없는 공백은 기본적으로 일반 공백이 돼요. 표시 보기에서 각 변경이 일어난 위치를 확인할 수 있어요.
- 문자 하나나 구절. 찾아 바꾸기를 열고 정규식을 끈 상태에서 찾기 칸에 문자를, 바꾸기 칸에 일반 문자를 입력하세요. 정규식을 끄면 찾기 칸은 글자 그대로 일치하므로, 곡선 따옴표는 자기 자신하고만 맞아요.
일반적인 붙여넣기 예시에 두 번째 도구를 적용하면 다음과 같아요.
| 변환 전 | 변환 후 |
|---|---|
| “Hello,” she said. | "Hello," she said. |
| It’s done. | It's done. |
| —verbose | -verbose |
마지막 행은 한계를 보여 줘요. 대시는 하나씩 하이픈 하나로 바뀌므로, 워드가 하나의 em 대시로 합친 이중 하이픈은 하이픈 한 개로 돌아와요. --verbose 같은 옵션은 변환 후에 직접 고치세요.
변환한 결과는 실행될 곳에 붙여넣고 그곳에서 테스트하세요. 직선으로 바꿔도 텍스트의 뜻은 달라지지 않으므로, 실행이 성공하는 것이 실제 확인이에요.
결과 확인하기
직선으로 바꾼 텍스트를 숨은 문자 제거에 한 번 더 넣고 표시 보기를 확인하세요. 남은 표시는 첫 번째 과정에서 다루지 않은 문자, 예를 들어 너비 없는 공백이나 특이한 공백이에요. 표시 보기에서 각 위치를 확인해 그 자리에서 고칠 수 있어요.
화면에서는 글자가 거의 똑같아 보여서 눈으로 확인하면 놓치기 쉬워요. 직선 따옴표와 곡선 따옴표는 모양이 조금 다를 뿐이고, en 대시는 많은 글꼴에서 하이픈처럼 보여요. 눈이 아니라 텍스트를 테스트하세요.
직선으로 바꾸지 말아야 할 때
인쇄물이나 웹 페이지에서 사람이 읽는 텍스트에는 곡선 따옴표와 대시를 그대로 두세요. 그곳에서는 올바른 타이포그래피예요. 코드, CSV, 수식, 명령어에 들어갈 글만 직선으로 바꾸세요. 워드 프로세서에서 쓴 글을 나중에 코드에 붙일 예정이라면 미리 스마트 따옴표 옵션을 끄세요.
예외 상황
- 섞인 따옴표. 한 문서에 곡선과 직선 따옴표가 섞여 있을 수 있어요. 직선 변환을 한 번 실행한 뒤 남은 따옴표가 있는지 검색하세요. 원본마다 출처가 다르기 때문이에요.
- 단어 속 아포스트로피. 축약형의 곡선 아포스트로피는 직선이 되는데, 대부분의 코드가 기대하는 형태예요. 문자열 안에 나타나는 축약형은 따로 확인하세요.
- 원본 보관. 직선 변환은 되돌릴 수 없어요. 직선 따옴표만 보고는 원래 어떤 곡선 따옴표였는지 알 수 없어요. 원본 문서는 보관하고 사본에서 작업하세요.
- 문장 속 대시. 문장 중간에 끊는 용도로 쓴 em 대시는 하이픈이 돼요. 예를 들어 "wait — stop"이 "wait - stop"으로 바뀌어요. 읽기용 글이라면 직접 다시 입력하세요.
- 보이지 않는 문자. 붙여넣은 텍스트에는 너비 없는 공백도 들어 있을 수 있어요. 따옴표는 아니지만 비슷한 방식으로 코드를 망가뜨려요. 숨은 문자 가이드에서 자세히 다뤄요.
AI 도움을 받아 영어 원문에서 번역했어요.
댓글
아직 댓글이 없어요. 첫 댓글을 남겨 보세요.


