Кодировка сообщений при соединении с PostGIS
-
- Гуру
- Сообщения: 588
- Зарегистрирован: 30 мар 2009, 21:53
- Репутация: 55
- Откуда: Королев
Кодировка сообщений при соединении с PostGIS
Сходно с этим багом. Но есть маленький нюанс.
TestCase:
1) Начинаем добавлениея PostGis слоя
2) В появившейся форме добавления слоя жмем кнопку New для ввода нового соединения
3) Вводим название соединения (любое) и адрес несуществующего хоста (например: unreal.site)
4) Жмем кнопку Test Connect. Получаем следующую ошибку: Гоблинская надпись гласит о страшнейшей ошибке.
5) Жмем ОК на MessageBox, и сохраняем соединение (с ошибочным адресом) нажатием кнопки OK на форме.
6) Выбираем в списке соединений, только что введеное.
7) Жмем кнопку Connect. Получаем следующую ошибку: Получаем ошибку на родном языке. Что более приятно.
Результат:
Да, функционал этих кнопок (Test Connect и Connect) разный, что подтверждают и MessageBox (в первом случае тип - information, во втором - warning). Собщение об ошибке тоже сформировано разное. Но текст об ошибке один и тот же (можно догадаться по "unreal.site"). Только в первом случае он не читаем, а во втором - имеет очень даже приличный вид.
Linux, r12291
!!! Возможно баг платформозависимый. Завтра проверю на WinXP.
TestCase:
1) Начинаем добавлениея PostGis слоя
2) В появившейся форме добавления слоя жмем кнопку New для ввода нового соединения
3) Вводим название соединения (любое) и адрес несуществующего хоста (например: unreal.site)
4) Жмем кнопку Test Connect. Получаем следующую ошибку: Гоблинская надпись гласит о страшнейшей ошибке.
5) Жмем ОК на MessageBox, и сохраняем соединение (с ошибочным адресом) нажатием кнопки OK на форме.
6) Выбираем в списке соединений, только что введеное.
7) Жмем кнопку Connect. Получаем следующую ошибку: Получаем ошибку на родном языке. Что более приятно.
Результат:
Да, функционал этих кнопок (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
у меня в WinXP и r12280 и первое сообщение без кракозябров
тут надо кого-то со сборочной средой, иначе, боюсь, не починят
тут надо кого-то со сборочной средой, иначе, боюсь, не починят
пристегивайтесь, турбулентность прямо по курсу
-
- Гуру
- Сообщения: 588
- Зарегистрирован: 30 мар 2009, 21:53
- Репутация: 55
- Откуда: Королев
Re: Кодировка сообщений при соединения с PostGIS
Проверил на WinXP. Крякозябр нет потому, что текст ошибки выдается на англицком языке. Сообщения об ошибках драйвера не локализованы. В линуксе подобные ошибки локализованы.
Прошу подтверждения этого.
Прошу подтверждения этого.
-
- Гуру
- Сообщения: 588
- Зарегистрирован: 30 мар 2009, 21:53
- Репутация: 55
- Откуда: Королев
Re: Кодировка сообщений при соединения с PostGIS
Ревью кода показал, что ошибка действительно есть:
Код в методе теста соединения при создании (форма с крякозябрами):
/trunk/qgis/src/app/qgsnewconnection.cpp строка 120
Код в методе выполнения соединения (нормальная форма):
/trunk/qgis/src/app/qgspgsourceselect.cpp строка 474
Как видно в первом случае не хватает преобразования UTF8 -> Qstring.
После добавления оного, все работает нормально: Если есть у кого возможность добавьте в трэкер - я час буду нормально оформлять баг (
Код в методе теста соединения при создании (форма с крякозябрами):
/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 ) ) ) );
После добавления оного, все работает нормально: Если есть у кого возможность добавьте в трэкер - я час буду нормально оформлять баг (
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: Кодировка сообщений при соединения с PostGIS
Добавлять скорее всего будут после багханта. Ждем. Но если sim не будет против - добавлю.yellow_sky писал(а):Если есть у кого возможность добавьте в трэкер - я час буду нормально оформлять баг (
-
- Гуру
- Сообщения: 588
- Зарегистрирован: 30 мар 2009, 21:53
- Репутация: 55
- Откуда: Королев
Re: Кодировка сообщений при соединения с PostGIS
Ну если решили все разом, то ждем )
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9128
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Кодировка сообщений при соединения с PostGIS
господа, я рад что разборка идет, но давайте все-таки подождем до после багханта и сфокусируемся на ошибках, а на багхате еще раз обсудим наши действия по обработке ошибок.
yellow_sky, посмотри, пожалуйста, ту же ошибку таймыра, на которую ты ссылался, там та же проблема?
yellow_sky, посмотри, пожалуйста, ту же ошибку таймыра, на которую ты ссылался, там та же проблема?
пристегивайтесь, турбулентность прямо по курсу
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: Кодировка сообщений при соединении с PostGIS
Патч, сделанный по мотивам расследования yellow_sky
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей