Avatar ·

Comment encoder correctement une URL en JavaScript ? encodeURI vs encodeURIComponent

Bonjour à tous ! Je suis débutant en JavaScript et j'ai rencontré un problème en travaillant avec des URL. Je dois envoyer une requête à un serveur avec des paramètres qui contiennent des caractères spéciaux et du cyrillique. Par exemple, j'ai une chaîne de recherche : "кофе & чай / рецепты?".\n\nJ'ai essayé d'utiliser `encodeURI()`, mais j'ai remarqué que certains caractères ne sont pas encodés. Ensuite, j'ai trouvé `encodeURIComponent()`, mais maintenant je ne comprends pas quelle méthode utiliser quand.\n\nVoici un exemple de mon code qui ne fonctionne pas comme prévu :\n\n```javascript\nconst baseUrl = "https://api.example.com/search";\nconst query = "кофе & чай / рецепты?";\nconst fullUrl = baseUrl + "?q=" + encodeURI(query);\nconsole.log(fullUrl);\n// Résultat : https://api.example.com/search?q=%D0%BA%D0%BE%D1%84%D0%B5%20&%20%D1%87%D0%B0%D0%B9%20/%20%D1%80%D0%B5%D1%86%D0%B5%D0%BF