UnicodeStringReplace with Umlauts
Original Reporter info from Mantis: DJS
-
Reporter name:
Original Reporter info from Mantis: DJS
- Reporter name:
Description:
UnicodeStringReplace relpaces wrong part of a unicodestring if it contains umlauts.
Steps to reproduce:
Procedure Test;
Var S, UC, OldP, NewP:UnicodeString;
Begin
S:='ÜÜÜÖÖÄÄ_%P1%';
OldP:='%P1%';
NewP:='1234';
UC:=UnicodeStringReplace(S, OldP, NewP, []);
ShowMessage(UTF8Encode(UC));
end;
Result is "ÜÜÜÖÖÄÄ_%P1%1234" instead of "ÜÜÜÖÖÄÄ_1234".
Additional information:
In the source code of UnicodeStringReplace, AnsiPos is used, which returns wrong a string position.
Using ReplaceString instead of UnicodeStringReplace seems to work.
Mantis conversion info:
- Mantis ID: 35609
- Build: Lazarus 2.0.2 r60954
- Version: 3.0.4
- Fixed in version: 3.3.1
- Target version: 3.2.0