Databáze > Ostatní DB
SQLite + FireDAC vkladanie textu UTF8 bez konverzie ?
miroB:
Je to možné priamo v Delphi?
Takto nejako by to malo fungovat?
--- Kód: Delphi ---TField.AsString := moj_AnsiStringresp. UTF8String?
100459:
Konverze probehne implicitne. Jde o naprosto stejnou implicitni konverzi jako napr. v tomto kodu:
--- Kód: Delphi ---var S: string; // UnicodeString U: UTF8String;begin U := 'Some text'; S := U; // implicitni konverzeend;
miroB:
Ked teda uz mam zdroj priamo v UTF8, tak mozem pouzit :
--- Kód: Delphi ---Field.AsString := moj_utf8_text;Nejak som sa obaval toho, ze Field.AsString a Field.AsWideString su uz od D2009+ automaticky konvertovane na WideString
Asi som zatazeny Accessom. Tan robi texty vo WideString a engina neposkytuje inu moznost. Na rozdiel od SQLite
100461:
Ano. Tady ovsem zalezi taky na typu pole:
- TStringField (ANSI typ pole) - accessor AsString interne ulozi predany UnicodeString po pretypovani jako AnsiString
- TWideStringField (Unicode typ pole) - accessor AsString interne ulozi Unicode retezec tak jak byl predan
Ta implicitni konverze z UTF8String na UnicodeString pri predavani hodnoty accessoru AsString probehne v obou pripadech. Tedy:
--- Kód: Delphi ---var U: UTF8String;begin TStringField(MyAnsiField).AsString := U; // implicitni konverze UTF8String na UnicodeString, pote ulozeni AnsiString TWideStringField(MyUnicodeField).AsString := U; // implicitni konverze UTF8String na UnicodeString, pote ulozeni UnicodeStringend;
miroB:
Vezmime predpoklady:
1. SQLite engina ma nastaveny sposob ukladania textu ako UTF8
2. V Delphi pracujem priamo s UTF8 / AnsiStringami / PAnsiChar
Vysledok:
NIE JE znama cesta, ako dostat UTF8 text bez konverzie do SQLite ?
Je ta konverzia dost rychla / zanedbatelna, ak hovorime radovo o 100-kach MB dat?
Navigace
[0] Seznam témat
[#] Další strana
Přejít na plnou verzi