Сведения о вопросе

ЧОВИД

15:18, 1st August, 2020

Теги

Python   PyQt    

Как заставить PyQt работать с русскими доменами?

Просмотров: 336   Ответов: 2

Столкнулся с проблемой при работе с QUrl на питоне. В общих чертах имеем такой тестовый код:



from PyQt4.QtCore import QUrl<br/>
<br/>
print QUrl('http://xn--d1abbgf6aiiy.xn--p1ai/').toString()<br/>




Под windows он возвращает ожидаемый результат:

<a href="http://xn--d1abbgf6aiiy.xn--p1ai/">xn--d1abbgf6aiiy.xn--p1ai/</a>




А под FreeBSD такой:

<a href="http://xn--d1abbgf6aiiy.xn--d1abbgf6aiiyxn--p1ai/">xn--d1abbgf6aiiy.xn--d1abbgf6aiiyxn--p1ai/</a>




PyQt отсюда www.riverbankcomputing.co.uk/software/pyqt/download версии 4.8.1



  Сведения об ответе

FAriza

05:22, 20th August, 2020

незнаю в чем проблема с PyQt, но может ее обойти принудительной конвертацией урл в идна
//закодировать домен.рф в xn--d1acufc.xn--p1ai
domain = domain_rf.encode('idna')
//раскодировать xn--d1acufc.xn--p1ai в домен.рф
domain = domain_rf.decode('idna')


  Сведения об ответе

Chhiki

14:03, 26th August, 2020

Если это так и есть, то это деградация PyQt, а возможно самого Qt. Советую обратиться с этим в лист рассылок или на багтрекер сначала PyQt, а потом, если скажут что проблема Qt, на багтрекер Qt.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться