Показать сообщение отдельно
Старый 13.12.2007, 21:30   #5
Вадим
AnyKey`щик
 
Регистрация: 11.12.2007
Сообщений: 12
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Русский текст

function winstr (s:string):string;
var i:integer;
c: char;
tc:integer;
st:string;
begin
st:='';
for i:=0 to length(s)-1 do begin
c:=getchar(s,i);
tc:=ord(c)-848;
if (tc>191) and (tc<256) then st:=st+chr(tc) else st:=st+c;
end;
winstr:=st;
end;

function utfstr (s:string):string;
var i:integer;
c: char;
tc:integer;
st:string;
begin
st:='';
for i:=0 to length(s)-1 do begin
c:=getchar(s,i);
tc:=ord(c)+848;
if (tc>1039) and (tc<1104) then st:=st+chr(tc) else st:=st+c;
end;
utfstr:=st;
end;

Строки в хранилищах сохраняем через winstr читаем через utfstr.
Не стоит придумывать urlencode и т.п для таких простейших задач.
С буквой "Ё" решение найдёте сами всё очень просто
(Offline)
 
Ответить с цитированием