Кодировка сообщений при соединении с PostGIS

Здесь нужно сообщать об ошибках в QGIS, с подробным описанием шагов и версии ПО.
Ответить
yellow-sky
Гуру
Сообщения: 588
Зарегистрирован: 30 мар 2009, 21:53
Репутация: 55
Откуда: Королев

Кодировка сообщений при соединении с PostGIS

Сообщение yellow-sky » 30 ноя 2009, 02:23

Сходно с этим багом. Но есть маленький нюанс.

TestCase:
1) Начинаем добавлениея PostGis слоя
2) В появившейся форме добавления слоя жмем кнопку New для ввода нового соединения
3) Вводим название соединения (любое) и адрес несуществующего хоста (например: unreal.site)
4) Жмем кнопку Test Connect. Получаем следующую ошибку:
TestConnection.png
TestConnection.png (32.68 КБ) 10773 просмотра
Гоблинская надпись гласит о страшнейшей ошибке.
5) Жмем ОК на MessageBox, и сохраняем соединение (с ошибочным адресом) нажатием кнопки OK на форме.
6) Выбираем в списке соединений, только что введеное.
7) Жмем кнопку Connect. Получаем следующую ошибку:
TryConnect.png
TryConnect.png (35.23 КБ) 10772 просмотра
Получаем ошибку на родном языке. Что более приятно.

Результат:
Да, функционал этих кнопок (Test Connect и Connect) разный, что подтверждают и MessageBox (в первом случае тип - information, во втором - warning). Собщение об ошибке тоже сформировано разное. Но текст об ошибке один и тот же (можно догадаться по "unreal.site"). Только в первом случае он не читаем, а во втором - имеет очень даже приличный вид.

Linux, r12291

!!! Возможно баг платформозависимый. Завтра проверю на WinXP.
Последний раз редактировалось yellow-sky 01 дек 2009, 14:27, всего редактировалось 1 раз.

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Кодировка сообщений при соединения с PostGIS

Сообщение Максим Дубинин » 30 ноя 2009, 08:22

у меня в WinXP и r12280 и первое сообщение без кракозябров
тут надо кого-то со сборочной средой, иначе, боюсь, не починят
пристегивайтесь, турбулентность прямо по курсу

yellow-sky
Гуру
Сообщения: 588
Зарегистрирован: 30 мар 2009, 21:53
Репутация: 55
Откуда: Королев

Re: Кодировка сообщений при соединения с PostGIS

Сообщение yellow-sky » 30 ноя 2009, 16:32

Проверил на WinXP. Крякозябр нет потому, что текст ошибки выдается на англицком языке. Сообщения об ошибках драйвера не локализованы. В линуксе подобные ошибки локализованы.
Прошу подтверждения этого.

yellow-sky
Гуру
Сообщения: 588
Зарегистрирован: 30 мар 2009, 21:53
Репутация: 55
Откуда: Королев

Re: Кодировка сообщений при соединения с PostGIS

Сообщение yellow-sky » 30 ноя 2009, 17:10

Ревью кода показал, что ошибка действительно есть:

Код в методе теста соединения при создании (форма с крякозябрами):
/trunk/qgis/src/app/qgsnewconnection.cpp строка 120

Код: Выделить всё

QMessageBox::information( this, tr( "Test connection" ), tr( "Connection failed - Check settings and try again.\n\nExtended error information:\n%1" ).arg( PQerrorMessage( pd ) ) );
Код в методе выполнения соединения (нормальная форма):
/trunk/qgis/src/app/qgspgsourceselect.cpp строка 474

Код: Выделить всё

QMessageBox::warning( this, tr( "Connection failed" ),
                          tr( "Connection to %1 on %2 failed. Either the database is down or your settings are incorrect.\n\n"
                              "Check your username and password and try again.\n\n"
                              "The database said:\n%3" )
                          .arg( settings.value( key + "/database" ).toString() )
                          .arg( settings.value( key + "/host" ).toString() )
                          .arg( QString::fromUtf8( PQerrorMessage( pd ) ) ) );
Как видно в первом случае не хватает преобразования UTF8 -> Qstring.
После добавления оного, все работает нормально:
снимок1.png
снимок1.png (32.99 КБ) 10724 просмотра
Если есть у кого возможность добавьте в трэкер - я час буду нормально оформлять баг (

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Кодировка сообщений при соединения с PostGIS

Сообщение Voltron » 30 ноя 2009, 19:59

yellow_sky писал(а):Если есть у кого возможность добавьте в трэкер - я час буду нормально оформлять баг (
Добавлять скорее всего будут после багханта. Ждем. Но если sim не будет против - добавлю.

yellow-sky
Гуру
Сообщения: 588
Зарегистрирован: 30 мар 2009, 21:53
Репутация: 55
Откуда: Королев

Re: Кодировка сообщений при соединения с PostGIS

Сообщение yellow-sky » 30 ноя 2009, 20:43

Ну если решили все разом, то ждем )

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Кодировка сообщений при соединения с PostGIS

Сообщение Максим Дубинин » 01 дек 2009, 01:18

господа, я рад что разборка идет, но давайте все-таки подождем до после багханта и сфокусируемся на ошибках, а на багхате еще раз обсудим наши действия по обработке ошибок.

yellow_sky, посмотри, пожалуйста, ту же ошибку таймыра, на которую ты ссылался, там та же проблема?
пристегивайтесь, турбулентность прямо по курсу

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Кодировка сообщений при соединении с PostGIS

Сообщение Voltron » 07 дек 2009, 09:18

Патч, сделанный по мотивам расследования yellow_sky
qgsnewconnection.cpp_fix_locale.zip
патч для устранения кракозябр
(456 байт) 506 скачиваний

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Кодировка сообщений при соединении с PostGIS

Сообщение Voltron » 09 дек 2009, 14:52

Ошибку и патч закинул в трекер. Ticket #2223

UPD: Applied in r12383

Ответить

Вернуться в «Ошибки QGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей