Проблема с кодировкой в поисковой строке при открытии браузера из Python

Проблема следующая, при передачи русских символов, мак открывает поисковую систему и вместо поиска, выдает в поиск не понятные символы. Ниже пример на картинке.

Что я пробовал сделать, пользовался функциями encode(), decode() это не помогло. Менял браузер, не помогло. Нужна помощь как исправлять данную проблему

a = "Привет"

webbrowser.open(f'https://yandex.ru/search/?text={a}')

print('Original string:', a)

В строке поиска отображается:


Ответы (1 шт):

Автор решения: insolor

Текст запроса внутри URL нужно кодировать с помощью процентного кодирования, например вместо "Привет" должно быть %D0%9F%D1%80%D0%B8%D0%B2%D0%B5%D1%82. На python это можно сделать с помощью функции quote_plus из модуля urllib.parse

from urllib.parse import quote_plus

a = "Привет"

webbrowser.open(f'https://yandex.ru/search/?text={quote_plus(a)}')
→ Ссылка