![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
CGI смена кодировок [D6, WinXP]
Marsel83 © (2005-07-25 11:17:00)Пишу CGI
Из формы методом GET передаются данные
Данные, переданные на английском языке воспринимаются правильно, текст же на русском языке обрабатывается в программе неверно. Как обойти данную проблему?
Alexander Panov (2005-07-25 12:29:00) [1]Только вместо IntToHex используй другую функцию. Борландовская жутко неоптимальная.
Alexander Panov (2005-07-25 12:27:00) [2]Либо методом POST передавй, либо перекодируй в HEX-вид примерно так:
class function THTTPQuery.Encode(const Src: String): String;
var
i: Integer;
index,LenSrc: Integer;
s: String[2];
begin
Result :='';
if Src='' then Exit;
Index := 0;
LenSrc := Length(Src);
SetLength(Result,LenSrc*3);
for i := 1 to LenSrc do
begin
case Src[i] of
'a'..'z','A'..'Z':
begin
Result[Index+1] := Src[i];
Inc(Index);
end;
else
begin
s := IntToHex(Ord(Src[i]),2);
Result[Index+1] := '%';
Result[Index+2] := s[1];
Result[Index+3] := s[2];
Inc(Index,3);
end;
end;
end;
SetLength(Result,Index);
end;