모든 가이드

텍스트에 “&”가 보이는 이유와 고치는 방법

게시일 · 업데이트 읽는 데 2분

텍스트에 “&” 대신 “&”가 보인다면 HTML 엔티티가 한 번 더 인코딩된 것입니다. 도구는 한 번에 한 단계씩 디코딩하고 남은 것이 있으면 알려 줍니다.

HTML 엔티티란

엔티티는 페이지 코드용으로 예약된 문자를 나타내는 기호의 나열입니다. 흔한 것은 다섯 가지입니다.

문자엔티티
&&
<&lt;
>&gt;
"&quot;
'(곧은 아포스트로피)&#039;

이중 인코딩이 생기는 곳

텍스트가 각각 인코딩을 하는 두 시스템을 거치는 경우가 있습니다. 편집기, 그다음 페이지 템플릿. 거칠 때마다 앞 엔티티의 “&”가 변환됩니다. HTML 엔티티 인코딩 및 디코딩으로 “Tom & Jerry”를 인코딩하면 “Tom &amp; Jerry”가 되고, 그 결과를 다시 인코딩하면 “Tom &amp;amp; Jerry”가 됩니다.

단계결과 텍스트
원본 텍스트Tom & Jerry
한 번 인코딩Tom &amp; Jerry
두 번 인코딩Tom &amp;amp; Jerry

브라우저는 표시할 때 한 단계를 디코딩합니다. 그래서 두 번 인코딩된 텍스트는 “&” 대신 “&amp;”로 보입니다.

한 번에 한 단계씩 디코딩하기

도구는 한 번에 엔티티를 한 단계만 제거합니다. 결과에 엔티티가 아직 있으면 “둘 다” 모드가 알려 주며, 그 결과에 디코딩을 다시 실행합니다.

텍스트첫 번째 디코딩두 번째 디코딩
Tom &amp;amp; JerryTom &amp; JerryTom & Jerry
&amp;lt;b&amp;gt;gras&amp;lt;/b&amp;gt;&lt;b&gt;gras&lt;/b&gt;<b>gras</b>

한 단계만 디코딩하면 의도한 인코딩을 되돌리는 일을 피할 수 있습니다. 화면에 “&amp;”를 보여 줘야 하는 코드 예시는 페이지에서 “&amp;amp;”로 씁니다.

악센트와 기호

디코딩은 흔한 다섯 가지뿐 아니라 세미콜론으로 끝나는 모든 이름 있는 엔티티를 이해합니다. “caf&eacute; &agrave; 5&nbsp;&euro; &copy; 2026”은 “café à 5 € © 2026”이 되고, 줄바꿈 없는 공백은 진짜 줄바꿈 없는 공백이 됩니다.

숫자 엔티티

숫자 엔티티도 디코딩됩니다. “&#233;t&#xE9;”는 “été”가 되고, “&#x1F600;”과 “&#128512;”는 같은 이모지가 됩니다.

도구가 건드리지 않는 것

  • “&inconnue;” 같은 알 수 없는 엔티티는 그대로 남습니다.
  • 문장 속의 “&amp”나 “&lt”처럼 끝에 세미콜론이 없는 엔티티는 건드리지 않습니다.
  • “https://exemple.fr/?a=1&param=2&copy=4” 같은 매개변수가 있는 주소는 그대로 정확합니다. 여기서 “&param”과 “&copy”는 엔티티로 취급되지 않습니다.

코드를 보여 주기 위해 인코딩하기

페이지에 코드 일부를 보여 주려면 한 번만 인코딩합니다. 텍스트 “<a href="x">l’été & plus</a>”는 “&lt;a href=&quot;x&quot;&gt;l&#039;été &amp; plus&lt;/a&gt;”가 됩니다. 악센트가 있는 글자는 인코딩되지 않고, 예약된 다섯 문자만 인코딩됩니다.

문제 피하기

인코딩은 페이지에 쓰는 마지막 순간에 한 번만 합니다. 잘못된 인코딩의 잔재를 한꺼번에 바꾸려면 찾기 및 바꾸기가 알맞습니다. 웹 주소는 다른 인코딩을 따르며, Base64, 해시, 인코딩된 주소를 혼동하지 않기에서 설명합니다.

결과 확인하기

  1. 도구가 엔티티가 남았다고 알리는 동안은 디코딩을 다시 실행합니다.
  2. 화면의 원본 텍스트와 비교합니다.
  3. 줄바꿈 없는 공백과 이모지를 확인합니다.

HTML 엔티티 인코딩 및 디코딩