function EncodeWideString(Value:WideString):String; //encode the widestring to saveable string //2003.03.04 var I:Integer; begin Result:=''; for I:=1 to Length(Value) do begin Result:=Result+IntToHex(WORD(Value[I]) shr 8,2); Result:=Result+IntToHex(WORD(Value[I]) and $00ff,2); end; end;function DecodeWideString(Value:String):WideString; //decode the string to widestring //2003.03.04 var I:Integer; begin Result:=''; for I:=0 to (Length(Value) div 4)-1 do begin Result:=Result+WChar(StrToInt('$'+Value[I*4+1]+Value[I*4+2]) shl 8 + StrToInt('$'+Value[I*4+3]+Value[I*4+4])); end; end;function EncodeUnicodeSQL(Value:WideString):String; //encode the widestring to string of unicode ascii set //be used for search unicode char in SQL server //2003.03.21 var I:Integer; begin Result:=''; for I:=1 to Length(Value) do begin if I>1 then begin Result:=Result+'+'; end; Result:=Result+'NCHAR('+IntToStr(Word(Value[I]))+')'; end; end;
WideChar($738B)
function EncodeWideString(Value:WideString):String;
//encode the widestring to saveable string
//2003.03.04
var
I:Integer;
begin
Result:='';
for I:=1 to Length(Value) do begin
Result:=Result+IntToHex(WORD(Value[I]) shr 8,2);
Result:=Result+IntToHex(WORD(Value[I]) and $00ff,2);
end;
end;function DecodeWideString(Value:String):WideString;
//decode the string to widestring
//2003.03.04
var
I:Integer;
begin
Result:='';
for I:=0 to (Length(Value) div 4)-1 do begin
Result:=Result+WChar(StrToInt('$'+Value[I*4+1]+Value[I*4+2]) shl 8
+ StrToInt('$'+Value[I*4+3]+Value[I*4+4]));
end;
end;function EncodeUnicodeSQL(Value:WideString):String;
//encode the widestring to string of unicode ascii set
//be used for search unicode char in SQL server
//2003.03.21
var
I:Integer;
begin
Result:='';
for I:=1 to Length(Value) do begin
if I>1 then begin
Result:=Result+'+';
end;
Result:=Result+'NCHAR('+IntToStr(Word(Value[I]))+')';
end;
end;