@MadJeck

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

Столкнулся с проблемой при работе с 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
  • Вопрос задан
  • 2653 просмотра
Пригласить эксперта
Ответы на вопрос 2
FeNUMe
@FeNUMe
незнаю в чем проблема с PyQt, но может ее обойти принудительной конвертацией урл в идна
//закодировать домен.рф в xn--d1acufc.xn--p1ai
domain = domain_rf.encode('idna')
//раскодировать xn--d1acufc.xn--p1ai в домен.рф
domain = domain_rf.decode('idna')
Ответ написан
DeNnEr
@DeNnEr
Если это так и есть, то это деградация PyQt, а возможно самого Qt. Советую обратиться с этим в лист рассылок или на багтрекер сначала PyQt, а потом, если скажут что проблема Qt, на багтрекер Qt.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы