Russian Qt Forum
Ноябрь 24, 2024, 02:05 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qt+Firebird: не подключается к базе с пробелами в путях  (Прочитано 4052 раз)
romanick
Гость
« : Декабрь 19, 2011, 21:09 »

Подключаюсь к локальному серверу Firebird через QIBASE, однако последний не находит базу если в пути к ней есть пробелы. Если пробелов нет - всё ок. Можно ли как-нибудь заэкранировать пробелы?
Windows, Qt 4.7.4, Firebird 2.5

Спасибо!

P.S. альтернативу QIBASE не рассматриваю.
Записан
romanick
Гость
« Ответ #1 : Декабрь 19, 2011, 22:17 »

Разобрался. Всё дело в том я использовал
Код:
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
а в пути к базе были русские буквы. Видать плагин QIBASE не умеет перекодировать строки исходя из системной локали.

Помогло
Код:
QTextCodec::setCodecForLocale(QTextCodec::codecForName("System"));
перед коннектом и возврат
Код:
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
сразу после коннекта

Ну и в общем к Firebird этот пост как оказалась отношения не имеет.
Записан
Whiplash
Гость
« Ответ #2 : Декабрь 20, 2011, 08:51 »

Рекомендую на сервере с файербёрдом прописать алиас для базы и подключаться из клиента по алиасу.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Декабрь 20, 2011, 08:57 »

Рекомендую на сервере с файербёрдом прописать алиас для базы и подключаться из клиента по алиасу.
+1. Это очень правильный подход.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.049 секунд. Запросов: 23.