169 похожих чатов

Есть проблема. Может кто знает в чем дело. Заношу в базу

FireDAC имена файлов из папки и в процессе внесения (или возможно вывода их из базы) некоторые символы превращаются в знаки вопроса.
Имена файлов вношу через такого плана код:
FDQuery1.ParamByName('ObjectName').AsString := AnsiLowerCase(ObjectName);
В момент пошагового выполнения проверяю в ObjectName правильно ли там указано имя файла (все норм - никаких вопросиков), затем когда пытаюсь достать из этой же записи значение поля через такой код:
s:=FDQuery1.FieldByName('ObjectName').AsString;
То в s уже оказывается такое же имя но с вопросиками вместо некоторых символов.
Например если клал в базу я вот такую строку:
Предоставление сведений из ЕГРЮЛЕГРИП в электронном виде.webloc
То достается обратно эта строка в таком виде
Предоставление сведений из ЕГРЮЛ?ЕГРИП в электронном виде.webloc
Проверял в режиме пошагового выполнения (в режиме отладки) - проблема происходит именнов каком-то из этих двух моментов - либо во время ввода либо вывода из базы.
Попробовал указывать кодировку в ручную через
FDConnection1.Params.Values['Database'] := dbPath;
FDConnection1.Params.Values['CharacterSet'] := 'UTF8';
FDConnection1.Connected := True;
FDConnection1.ExecSQL('PRAGMA encoding = "UTF-8";');
Не помогло.
Может кто знает как с этим бороться?

3 ответов

43 просмотра

для начала, в базу FireDAC, FireDAC - это не база, название базы не услышали

Что возвращает ansiLowerCase проверял И вообще какая версия delphi?

Дмитрий-Завгородний Автор вопроса
Жека Жека
Что возвращает ansiLowerCase проверял И вообще как...

Проверял - меняет БУКВЫ на маленькие - точка остается на месте. Регистр букв уменьшаю для того чтобы поиск потом работал напрямую в базе, но вероятно переделаю и дубу для поиска отдельную базу мутиь, а то принцип первозданности нарушается - не хорошо.

Похожие вопросы

Обсуждают сегодня

Здравствуйте, хочу сделать HelloWorld в консоли Дельфи, но функция API ничего не выводит, что я делаю не так? program Hello; {$APPTYPE CONSOLE} uses System.SysUtils, WinAPI.Wi...
Sergey Vinogradov
20
лучше скажите, причём тут паскаль?
Alexey Kulakov
23
Вопрос на перед, на следующую пятницу. Сколько строк кода можно вешать на одного программиста, понятно что если проект хорошо написан то можно и миллион. Но есть же где то пре...
AlekseyK Kluchnikov
31
Немного оффтопа: а кто на чем сидит для осдева в плане ide/редактора? Последнее время сидел на vscode, но я его прям не могу нормально воспринимать, перешел на сlion, но меня...
Evg Resh
29
#include <stdio.h> #include <stdlib.h> #include <time.h> int** generate_table(int size_matrix) { int** matrix = (int**)malloc(size_matrix * sizeof(int*)); for (int i ...
Чувак
1
@PerlBanjoBot use v5.38; sub split_on_cond($arr, $cond) { ($a, $b) = ([], []); push @{ $cond->($_) ? $a : $b }, $_ for @$arr; ($a, $b) } use Data::Dumper; warn Dumpe...
Sergei Zhmylove
10
Всем привет! как узнать, что текст в TSkLabel был выведен сокращенным ? Есть функция для TLabel которая позволяет определить , что текст выведен сокращенным function TFrmMai...
DELPHI SOLUTIONS
6
Вот объясните, как это работает: Вот есть допустим unix-подобная система, и программа запускает допустим printf или fork, как это передается ядру, и как оно обрабатывать начин...
Егор
14
Дебил? Я ищу друга
Bitard 228
27
У меня это всегда вопрос вызывало.. Нафига писать код так, чтобы потом ошибки вылавливать?
Nik
44
Карта сайта