Kovalenko Dmitry wrote:
А хранимую процедуру не пробовал в UTF-8 отковертировать и подсунуть серверу
(c ctype==геа8) ?
В таком виде компилится
begin
/* Р?С,С++Р?С?С,Р?Р? Р"Р°С,Р?Р?С?Р?С<РNo Р?Р°Р?Р?Р? (Р?С<Р?Р°С,С?
С?Р?С?Р°Р?Р?С? Р?Р?Р?Р??) */
/* Р?Р?С?Р?Р?Р?Р°Р?С<Р?Р°Р?Р? Р?С...Р?Р?Р?Р?РNo Р?Р°С?Р°Р?Р?С,С? Р?
Р?Р?С?Р?Р?Р?Р?Р?С?С? - Р?Р?С? Р?С?Р?С?С0/00Р?Р?Р? РёС?Р?Р?Р?С?Р·Р?Р?Р°Р?РёС? */
/* Р"Р?Р?Р°Р?Р? Р?Р?С?Р?Р?Р?Р?С?С?, Р?Р?Р? Р?Р?С?Р?Р?Р?Р?РёС... Рё
С,С?Рё Р?Р?С?Р?Р?Р?Р?РёС... Р?С?Р?Р?С< Р?С...Р?Р?Р?Р?РNo С?С,С?Р?Р?Рё */
/* Р"Р?Р?Р°Р?Р? РёР?С? Р?Р?Р· Р?Р?Р?Р?РNo, Р?Р?Р· Р?Р?С?С... Рё Р?Р?Р·
С,С?Р?С... Р?С?Р?Р? */
select OUT, LAST1, LAST2, LAST3, BEZ1, BEZ2, BEZ3, LEN
from GET_BEZ_AND_LAST(:INP)
into :INPU, :LAST1, :LAST2, :LAST3, :BEZ1, :BEZ2, :BEZ3, :LEN;
/* Р.С?Р?Рё Р?Р?РёР?Р° 2 С?РёР?Р?Р?Р?Р° Рё Р?Р?Р?С?СEURР?,
Р?С?С,Р°Р?Р?С?Р?Р? Р?С' Р?Р?Р·
РёР·Р?Р?Р?Р?Р?РёС? */
/* Р.С?Р?Рё Р?Р?РёР?Р° РёР?Р?Р?Рё 2 С?РёР?Р?Р?Р?Р° Рё Р?Р?Р?С?СEURР?,
Р?С?С,Р°Р?Р?С?Р?Р? Р?Р?Р? Р?Р?Р· РёР·Р?Р?Р?Р?Р?РёС? */
if (LEN <= 2) then begin OUT=INP; exit; end
/* Р.С?Р?Рё Р? Р?Р?Р?Р? Р?Р?С?С?С?С?Р?Р?Р? Р?С,С++Р?С?С,Р?Р? (С,РёР?Р°
"Р?С<Р·С<Р?-Р?Р?Р?С<"), Р?Р?Р·Р?С?Р°С0/00Р°Р?Р? Р?Р?Р? Р?Р°Р?
Р?С?С,С? */
if ((LAST1<>'С++') and (LAST1<>'Р°')) then begin OUT=INP; exit; end
/* "Р?Р?С?Р?Р?Р?Р?РёС++" - "Р?Р?С?Р?Р?Р?Р?РёС++С?" (Р?С?Р?С?Р?РёР?) */
if (sex=0) then begin OUT=INP||'С?'; exit; end
/* "Р?РёР?Р?С?Р?Р?Р?Р°" - "Р?РёР?Р?С?Р?Р?Р?Р?" (Р?Р?Р?С?Р?РёР?) */
if (sex=1) then begin OUT=bez1||'Р?'; exit; end
/* Р' Р?С?С?Р?РёС... С?Р?С?С++Р°С?С... Р?Р?Р·Р?С?Р°С0/00Р°Р?Р? Р?С...Р?Р? */
OUT = INP;
end
но как-то некрасиво выглядит :)