Ahoj,
pisu si udf v delphi a pouzivam toto:
Utf8ToAnsiEx(StrUTF8,20127); // Convert into US-ASCII
Priklad primo v UDF funkci:
//
https://msdn.microsoft.com/en-us/library/windows/desktop/dd317756(v=vs.85).aspx
// Result is ASCII character set NOT UTF8
function UDF_StrToTerms(StrUTF8: PAnsiChar): PAnsiChar; cdecl;
var
s, sa, res:AnsiString;
i:integer;
procedure AddToRes;
begin
if s<>'' then begin
if Length(s)>2 then
if res = '' then res := s else res := res + ',' + s;
s := '';
end;
end;
begin
sa := Utf8ToAnsiEx(StrUTF8,20127); // Convert into US-ASCII
sa := AnsiStrings.StringReplace(sa,'''','',[rfReplaceAll]); //
Remove apostrophe for correct French words parsing
sa := UpperCase(sa);
res := ''; s := '';
for i:= 1 to Length(sa) do begin
if sa[i] in ['_','-','0'..'9','A'..'Z']then s := s + sa[i]
else AddToRes;
end;
AddToRes;
Result := ib_util_malloc(Length(Res)+1);
AnsiStrings.StrCopy(Result, PAnsiChar(Res));
end;
Slavek
Ing. Slavomir Skopalik Executive Head Elekt Labs s.r.o. MASA - Collection and evaluation of data from machines and laboratories http://eng.elektlabs.com/products-and-services/masa ----------------------------------------------------------------- Address: Elekt Labs s.r.o. Chaloupky 158 783 72 Velky Tynec Czech Republic --------------------------------------------------------------- Mobile: +420 724 207 851 skype:skopaliks e-mail:skop...@elektlabs.com http://www.elektlabs.com
--
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny „Firebird (CZ)“ ve Skupinách Google.
Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete e-mail na adresu firebird_cz...@googlegroups.com.
Chcete-li tuto diskusi zobrazit na webu, navštivte https://groups.google.com/d/msgid/firebird_cz/1918711d-1450-4ccd-9dec-5578b569300an%40googlegroups.com.
Ahoj,
popravde, vubec nerozumim.
V dnesni dobe nema smysl pouzivat skripty v jinem kodovani nez UTF8.
Potom, co je to procedura, jenz obsahuje diakritiku?
Potom, co to znamena, vlozit do DB (jak je definovan sloupec)?
Pripojeni k DB, jaky pouzivas charset?
Slavek
Ing. Slavomir Skopalik Executive Head Elekt Labs s.r.o. MASA - Collection and evaluation of data from machines and laboratories http://eng.elektlabs.com/products-and-services/masa ----------------------------------------------------------------- Address: Elekt Labs s.r.o. Chaloupky 158 783 72 Velky Tynec Czech Republic --------------------------------------------------------------- Mobile: +420 724 207 851 skype:skopaliks e-mail:skop...@elektlabs.com http://www.elektlabs.com
Chcete-li tuto diskusi zobrazit na webu, navštivte https://groups.google.com/d/msgid/firebird_cz/252ce28d-4643-4de0-8d21-35f87eb82182n%40googlegroups.com.
ad win1250)
Zalezi na tom, jak mate definovane sloupce v DB.
Pokud je mate v UTF8 a nekdo tam vlozi znak, co neni ve win1250, tak dojde k chybe
cannot transliterate between character sets
Win1250 je rychlejsi, ale situace nas donutila prejit na UTF8.
Od te doby nemame problemy.
Slavek
Ing. Slavomir Skopalik Executive Head Elekt Labs s.r.o. MASA - Collection and evaluation of data from machines and laboratories http://eng.elektlabs.com/products-and-services/masa ----------------------------------------------------------------- Address: Elekt Labs s.r.o. Chaloupky 158 783 72 Velky Tynec Czech Republic --------------------------------------------------------------- Mobile: +420 724 207 851 skype:skopaliks e-mail:skop...@elektlabs.com http://www.elektlabs.com
Chcete-li tuto diskusi zobrazit na webu, navštivte https://groups.google.com/d/msgid/firebird_cz/77e7d0d5-f5e1-429c-857b-1641fd88d682n%40googlegroups.com.