Ja, så är det. HTML stöder hela teckenuppsättningen, men definitionen av URL:er tillåter bara A-Z, a-z, 0-9 och några andra reserverade tecken. @ är med bland de reserverade tecknen och när man ska skriva ut dem på annat sätt än vad som var tänkt när de reserverades, så måste man koda dem med s.k. "URL encoding" som består av ett procenttecken följt av den hexadecimala ASCII-koden.
Jag vet inte om jag klargör något eller inte just nu...