URL Encoding expliqué : Encodage pourcent, UTF-8 et caractères spéciaux
5 min de lecture
L'encodage URL (encodage pourcent) convertit les caractères spéciaux dans un format transmissible sur internet. Les espaces deviennent %20, les esperluettes %26, et les caractères non ASCII sont encodés en séquences d'octets UTF-8.
Pourquoi les URLs ont besoin d'encodage
Les URLs ne peuvent contenir qu'un ensemble limité de caractères (RFC 3986) : lettres, chiffres et quelques caractères spéciaux (-._~). Tout le reste doit être encodé en pourcent.
Encodages courants
| Caractère | Encodé |
|---|---|
| Espace | %20 (ou + dans les query strings) |
| & | %26 |
| = | %3D |
| ? | %3F |
| # | %23 |
| / | %2F |
| @ | %40 |
Unicode dans les URLs
Les caractères non ASCII (comme café) sont d'abord encodés en UTF-8, puis chaque octet est encodé en pourcent : caf%C3%A9.
En JavaScript
encodeURIComponent("hello world & café")
// "hello%20world%20%26%20caf%C3%A9"
decodeURIComponent("hello%20world")
// "hello world"
Générez des URLs propres
Évitez les problèmes d'encodage en utilisant des slugs propres. Notre générateur de slugs d'URL crée des slugs sûrs automatiquement.