일치해야 할 검색이 일치하지 않는다
구절을 손으로 입력해도 검색 엔진이 아무것도 찾지 못하는데, 텍스트는 분명히 페이지 위에 있습니다. 두 문자열은 보이지 않는 한 문자만으로 다릅니다.
복사 & 붙여넣기 · 문자 참조
보이지 않는 하이픈(U+00AD)을 한 번의 클릭으로 복사하고 — 무엇보다 — PDF에서 붙여넣은 텍스트가 검색·검증·가져오기를 거부하는 이유를 이해하는 데 활용하세요.
상자를 클릭해 문자를 선택한 뒤 Ctrl + C(Mac은 ⌘ + C)를 누르세요.
소프트 하이픈(U+00AD, HTML에서는 ­로 씀)은 보이지 않도록 설계된 유일한 하이픈입니다. 줄이 바뀌어야 할 때 단어를 어디서 갈라도 되는지 렌더러에 알려주는 — 읽으라고 만든 문자가 아니라 조판 힌트입니다. 그 지점에서 줄이 바뀌면 줄 끝에 진짜 하이픈이 나타나고, 바뀌지 않으면 이 문자는 눈에 보이는 공간을 전혀 차지하지 않습니다. 신문·책·긴 조판은 이 발상을 1세기 동안 써 왔고, 유니코드는 파일이 텍스트와 함께 힌트를 운반할 수 있도록 코드 포인트를 부여했습니다.
웹과 데이터의 세계에서 바로 이 보이지 않음이 문제입니다. 소프트 하이픈은 공백이 아니므로 이상한 빈틈으로 나타나지 않고, 하이픈이 아니므로 "-" 검색으로는 찾을 수 없으며, 대응하는 키가 없으므로 찾기·바꾸기 상자에 입력할 수 없습니다. PDF에서 복사한 텍스트가 고전적인 공급원입니다. PDF 생성기는 줄바꿈을 제어하려고 단어 사이사이에 선택 하이픈을 뿌리고, 텍스트를 복사하면 그것들이 함께 따라옵니다. 그래서 PDF에서 붙여넣은 구절이 손으로 친 같은 구절과 일치하지 않을 수 있는 것입니다. 워드 프로세서에서 데이터베이스 필드, 스프레드시트 셀, 검색 상자로 옮겨진 텍스트에도 같은 일이 일어납니다.
피해는 구체적이고 놓치기 쉽습니다. "information"을 담은 검색 인덱스는 "information"이라는 질의에 일치하지 않습니다. 비ASCII 바이트를 거부하는 사용자명 검증기는 사용자가 볼 수 없어도 소프트 하이픈을 거부합니다. 글자 수 세기는 그것을 셉니다. 코드 편집기는 문자열 속 잘못된 문자로 표시하고, 때로는 아무 이상 없어 보이는 열을 가리키는 오류 메시지를 냅니다. 해결책은 문자를 제거하는 것입니다. 이 사이트의 하이픈 제거 도구는 U+00AD를 코드 포인트로 일치시키고, 제거가 남긴 공백까지 정리합니다. 어떤 키보드도 만들 수 없는 문자를 없애는 유일한 확실한 방법입니다.
모든 플랫폼의 키보드 단축키. 입력 없이 위의 카드에서 복사할 수도 있습니다.
| 플랫폼 | 단축키 |
|---|---|
| Word(Windows·Mac) | Ctrl + - 로 단어 안에 선택(소프트) 하이픈 삽입 |
| Google Docs | 삽입 → 특수문자 → "soft hyphen" 검색 |
| Windows(모든 앱) | 숫자 키패드로 Alt + 173 |
| HTML | ­ 또는 ­ — 이름 있는 개체를 가진 유일한 하이픈 변형 |
| Mac | 단축키 없음·표시 없음 — 위에서 복사하거나 이모지·기호 보기 |
| Word(표시) | 홈 → ¶ 서식 기호 표시/숨기기로 텍스트 속에 드러냄 |
문자가 제 역할을 하는 모습과, 다른 대시로 바꾸면 달라지는 점.
exam¬ple (줄이 필요할 때까지 보이지 않음)
infor¬mation retrieval
cus¬tomer_id
https://dash¬remover.com
텍스트에 보이지 않는 하이픈이 숨어 있다는 4가지 징후와, 각각에 대한 대처입니다. 이 페이지에서 소프트 하이픈은¬로 그려집니다 — 표시할 수 없는 문자에 대해 유니코드가 권하는 대체 기호입니다.
구절을 손으로 입력해도 검색 엔진이 아무것도 찾지 못하는데, 텍스트는 분명히 페이지 위에 있습니다. 두 문자열은 보이지 않는 한 문자만으로 다릅니다.
사용자명, 이메일 로컬 부분, 슬러그가 거부되지만 눈에 보이는 문자는 모두 합법입니다 — 보이지 않는 그 하나가 합법적이지 않은 것입니다.
화살표 키로 글자 하나를 건너는 데 두 번 눌러야 하거나, 코드 편집기가 비어 보이는 열에서 예상 못한 문자를 보고합니다.
글자 수가 텍스트 겉보기보다 많거나, 길이 제한이 있는 데이터베이스 필드가 눈으로는 들어가 보이는 문자열을 거부합니다.
이 진단들은 더 자세히 본다고 확정되지 않습니다 — 이 문자는 보이지 않도록 설계되었으니까요. 코드 포인트로 확정하세요. 줄을대시 식별 도구에 붙여넣으면 발견된 소프트 하이픈을 알려 주고, 이후 텍스트를하이픈 제거 도구로 청소하세요.
서로 닮았지만 결코 같게 동작하지 않는 세 문자. 필요한 문자를 복사하거나 각 문자의 상세 참조를 읽어보세요.