Python не объединяет строки и Unicode для ссылки

0

Когда я добавляю строку Unicode в конец строки, я не могу нажать на URL.

Плохо:

base_url = 'https://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&format=xml&titles='

url = base_url + u"Ángel_Garasa"
print url

Изображение 174551

Хорошо:

base_url = 'https://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&format=xml&titles='

url = base_url + u"Toby_Maquire"
print url

Изображение 174551

  • 0
    Почему вы расшифровываетесь на латиницу-1?
  • 0
    Это решило исходную проблему. Вы можете увидеть в оригинальном сообщении, в чем была проблема и почему я использовал эту кодировку. Конечно, если у вас есть решение оригинальной проблемы, которое позволит избежать этой проблемы, это также будет здорово!
Показать ещё 5 комментариев
Теги:
python-2.7
unicode

1 ответ

1
Лучший ответ

Похоже, вы печатаете результаты в среде IDE, возможно, PyCharm. Вам нужно, чтобы процент кодировал кодированную версию строки в формате UTF-8:

import urllib

base_url = 'https://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&format=xml&titles='
name = u"Ángel_Garasa"

print base_url + urllib.quote(name.encode("utf-8"))

Это показывает: Изображение 174551

В вашем случае вам необходимо обновить свой код, чтобы соответствующее поле из базы данных было закодировано в процентах. Вам нужно только закодировать это поле в UTF-8 только для процентного кодирования.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню