Delphi 2010 + Zeos 7 + Postgres 9.1 = utf-8
Posted: 10.11.2011, 14:36
bom dia
com a combinação acima
Delphi 2010
ZeosLib 7
Postgresql 9.1
Quando faço a gravação de em um campo varchar de um caminho ex: "C:\\Programa\\Dados\\"
ele grava no banco neste formato "C:\134\134Programa\134\134Dados\134\134"
faço uso da properties com "codepage=utf8" e tb com "client_enconding=utf8"
verifiquei que o mudança das informações estão na unit ZDbcPostgreSqlUtils.pas
na function EncodeString(const Value: string): string;
este trecho está colocando o "134"
for I := 1 to SrcLength do
begin
if SrcBuffer^ in [#0, '''', '\'] then
begin
DestBuffer[0] := '\';
DestBuffer[1] := Char(Ord('0') + (Byte(SrcBuffer^) shr 6));
DestBuffer[2] := Char(Ord('0') + ((Byte(SrcBuffer^) shr 3) and $07));
DestBuffer[3] := Char(Ord('0') + (Byte(SrcBuffer^) and $07));
Inc(DestBuffer, 4);
end
else
begin
DestBuffer^ := SrcBuffer^;
Inc(DestBuffer);
end;
mas verifiquei no mantis do zeoslib e tem um post constando como correção mas acho que essa correção causou erro
alguém usa ou sabe algo a respeito??
com a combinação acima
Delphi 2010
ZeosLib 7
Postgresql 9.1
Quando faço a gravação de em um campo varchar de um caminho ex: "C:\\Programa\\Dados\\"
ele grava no banco neste formato "C:\134\134Programa\134\134Dados\134\134"
faço uso da properties com "codepage=utf8" e tb com "client_enconding=utf8"
verifiquei que o mudança das informações estão na unit ZDbcPostgreSqlUtils.pas
na function EncodeString(const Value: string): string;
este trecho está colocando o "134"
for I := 1 to SrcLength do
begin
if SrcBuffer^ in [#0, '''', '\'] then
begin
DestBuffer[0] := '\';
DestBuffer[1] := Char(Ord('0') + (Byte(SrcBuffer^) shr 6));
DestBuffer[2] := Char(Ord('0') + ((Byte(SrcBuffer^) shr 3) and $07));
DestBuffer[3] := Char(Ord('0') + (Byte(SrcBuffer^) and $07));
Inc(DestBuffer, 4);
end
else
begin
DestBuffer^ := SrcBuffer^;
Inc(DestBuffer);
end;
mas verifiquei no mantis do zeoslib e tem um post constando como correção mas acho que essa correção causou erro
alguém usa ou sabe algo a respeito??