Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 06.05.2018
Сообщений: 162

БД FireBird на разных ОС, проблема с кодировкой русского текста

13.12.2018, 08:06. Показов 3274. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Написал маленькую программу с БД которая должна работать в локальной сети на 4-х ПК. Есть два ПК с Win7 и два c Win 10.
На Win 7 все работает, на Win 10 текст из БД отображается "кроказябрами" всякие буквы а с черточками сверху и тому подобное.
Если из Win 10 что-то (русский текст) передать то отображается везде с вопросами.
База создана в UTF-8, подключение через FireDAC в FDConnection тоже выставлено UTF-8 (делал и cp1251 и в БД и в FDConnection) все та же проблема.

Подскажите как решить?

PS
Интересно решение не настройкой Win 10, а настройкой ПО/БД, спасибо.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.12.2018, 08:06
Ответы с готовыми решениями:

Ввод русского текста из консоли в файл (проблема с кодировкой)
Здравствуйте! Стоит казалось бы тривиальная задача - считать из консоли русский текст, записать его в файл, затем из этого файла данный...

Транслит русского текста(неполадки с кодировкой)
Всем доброго времени суток. Возникла такая ситуация(возможно и ситуация изобрести велосипед но все же): Нужно написать функцию...

Проблема с кодировкой при записи в файл из разных потоков
Пишу результат работы программы в разные файлы. Для записи данных используется единый метод: private static void...

10
 Аватар для krapotkin
6851 / 4677 / 1465
Регистрация: 14.04.2014
Сообщений: 20,674
Записей в блоге: 21
13.12.2018, 08:27
никаких проблем с кодировками FB нет ни на 7 ни на 10
ошибка в программе, программа у вас...

Добавлено через 52 секунды
P.S.
Цитата Сообщение от RADStudio Посмотреть сообщение
База создана в UTF-8, подключение ... UTF-8
на слово авторам тут верить не принято ))
1
1 / 1 / 0
Регистрация: 06.05.2018
Сообщений: 162
13.12.2018, 08:34  [ТС]
krapotkin, на вин 7 все в норме, проблема на 10.
Если у вас есть под рукой и вин 7 и вин 10 то могу собрать тестовое приложение и выложить.
Сервер версии 2.5 как раз по ссылке из вашего блога.
0
1 / 1 / 0
Регистрация: 06.05.2018
Сообщений: 162
13.12.2018, 08:38  [ТС]
Вот скрин настройки FDConnection
Миниатюры
БД FireBird на разных ОС, проблема с кодировкой русского текста  
0
 Аватар для krapotkin
6851 / 4677 / 1465
Регистрация: 14.04.2014
Сообщений: 20,674
Записей в блоге: 21
13.12.2018, 11:27
сделайте пример, я откомпилю и запущу на 7 и 10
1
1 / 1 / 0
Регистрация: 06.05.2018
Сообщений: 162
13.12.2018, 23:00  [ТС]
krapotkin, ок, спасибо, вечером скину.

Добавлено через 11 часов 24 минуты
krapotkin, обновил win 10 до 1809 и заработало. Я правда и БД пересоздал с нуля. Уж что именно помогло не знаю. Спасибо за пинок у нужном направлении)
Есть еще попутный вопрос, при попытке добавить запись в БД используя FDQuery.Append/Post БД не создает ID хотя в самой БД есть и генератор и триггер (стандартные, не менял). Если делать INSERT то ID создается. Не подскажет как сделать так чтобы ID создавался при вызове Append/post?
Я так думаю дело в том, что триггер стандартный на это не рассчитан и Append работает не через INSERT.
Как его надо поправить?

Pascal
1
2
3
4
5
6
7
create trigger new_table_bi for mainTable
active before insert position 0
as
begin
  if (new.new_field is null) then
    new.id = gen_id(,1);
end
0
 Аватар для krapotkin
6851 / 4677 / 1465
Регистрация: 14.04.2014
Сообщений: 20,674
Записей в блоге: 21
13.12.2018, 23:27
Лучший ответ Сообщение было отмечено RADStudio как решение

Решение

я ставлю 95% что БД была создана не в той кодировке и сейчас все поправилось

все ничего , а где имя у генератора?? gen_id( ???? ,1);

append не может работать как то иначе кроме Insert
так что не там зарыто

если вам нужно прямо сразу иметь ID уже в программе, то лучше вызвать генератор самостоятельно
(Select gen_id(имя, 1) from rdb$database)
или использовать механизмы FireDac
https://habr.com/post/273549/
(поиск по слову генератор)
1
1 / 1 / 0
Регистрация: 06.05.2018
Сообщений: 162
13.12.2018, 23:59  [ТС]
krapotkin, ну вроде все выставлено, UpdateOptions.FetchGeneratorsPoint и так по умолчанию равен gpDeffered.
В UpdateOptions.GeneratorName выбрал имя генератора. Но не работает, при вызове post пишет что поле Id не может быть пустым, не заполняет его. Что я делаю не так?
Тестовый проект приложил.
Вложения
Тип файла: rar FB_FD.rar (1.66 Мб, 2 просмотров)
0
1 / 1 / 0
Регистрация: 06.05.2018
Сообщений: 162
14.12.2018, 00:03  [ТС]
Ага, все нашел, еще надо AutoIncFields в опциях прописывать.
Спасибо, все работает. Не ясно только к чему все эти лишние телодвижения, по логике отметил в БД при создании поля автоинкремент и все, БД сама должна думать об этом.
0
 Аватар для krapotkin
6851 / 4677 / 1465
Регистрация: 14.04.2014
Сообщений: 20,674
Записей в блоге: 21
14.12.2018, 07:12
в FB нет автоинкрементных полей, механизм которых как-то скрыт
там просто создается вышеописанный триггер.
имя генератора, думаю, ему надо указывать

я никогда не сталкивался, т.к. всегда это делаю руками.
и генератор создать и приписать триггер на ID - вешь недолгая, зато полный контроль
0
1 / 1 / 0
Регистрация: 06.05.2018
Сообщений: 162
14.12.2018, 08:03  [ТС]
Не долго если умеешь и понимаешь. Я вот впервые с FB и FD работаю и просто на то чтобы разобраться и понять что к чему необходимо время.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.12.2018, 08:03
Помогаю со студенческими работами здесь

Проблема с выводом русского текста
/*Помогите пожалуйста! Почему у меня эта программа после компиляции работает нормально, т.е. в ней русские буквы, а если я отдаю Release...

Проблема вывода русского текста из базы.
Проблема как у многих в выводе русского текста из базы. Перечитал весь форум, рабочего ответа не нашел. Вся надежда на вас! Сайт...

Проблема отображения русского текста в графическом режиме
Столкнулся с проблемой правильного отображения русского текста в графическом режиме. Установил русские шрифты в папку i386-win32, а также...

Проблема с кодировкой при чтении текста из файла
в файле все норм отображает , но при считывание проблема с кодировкой , может кто знает как это подправить? private void...

Проблема в ХР Pro с кодировкой текста в кириллице. Пожалуйста помогите!
Такая проблема. После первой установки ХР Professional (русская корпоративная версия) отобажается во многих прогах вместо кириллицы знаки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru