diff --git a/src/Services/InfoProviderSystem/Providers/GenericWebProvider.php b/src/Services/InfoProviderSystem/Providers/GenericWebProvider.php
index 7fbf5a58..169a34bf 100644
--- a/src/Services/InfoProviderSystem/Providers/GenericWebProvider.php
+++ b/src/Services/InfoProviderSystem/Providers/GenericWebProvider.php
@@ -310,6 +310,7 @@ class GenericWebProvider implements InfoProviderInterface
private function fixAndValidateURL(string $url): string
{
$originalUrl = $url;
+ $url = urldecode($url);
//Add scheme if missing
if (!preg_match('/^https?:\/\//', $url)) {
diff --git a/templates/info_providers/search/part_search.html.twig b/templates/info_providers/search/part_search.html.twig
index 3d741c34..52b4d3a7 100644
--- a/templates/info_providers/search/part_search.html.twig
+++ b/templates/info_providers/search/part_search.html.twig
@@ -110,10 +110,10 @@
{% if update_target %} {# We update an existing part #}
{% set href = path('info_providers_update_part',
- {'providerKey': dto.provider_key, 'providerId': dto.provider_id, 'id': update_target.iD}) %}
+ {'providerKey': dto.provider_key, 'providerId': dto.provider_id|url_encode, 'id': update_target.iD}) %}
{% else %} {# Create a fresh part #}
{% set href = path('info_providers_create_part',
- {'providerKey': dto.provider_key, 'providerId': dto.provider_id}) %}
+ {'providerKey': dto.provider_key, 'providerId': dto.provider_id|url_encode}) %}
{% endif %}
{# If we have no local part, then we can just show the create button #}
@@ -133,7 +133,7 @@
target="_blank" title="{% trans %}info_providers.search.show_existing_part{% endtrans %}">
-