FPC-Version 3.1.1
ich trau mich ja schon gar nicht mehr posten, zum Thema UTF-8
Folgendes Problem beschäftigt mich gerade:
Zwei UTF-8-Strings, der eine heißt s1 der andere s2. Beide haben den Inhalt "wärme" (kleingeschrieben).
Code: Alles auswählen
Überwachte Ausdrücke (string bzw. "Speicherauszug"):
s1 wärme
s1 77 c3 a4 72 6d 65 00 85 00 00 65 00 20 00 2e 00 2e 00 2e 00 00 00 00 74 65 72...
s2 'wärme'
s2 77 c3 a4 72 6d 65 00 00 00 00 00 00 00 00 00 20 85 00 65 00 75 00 67 00 75 00...
Hab's nun zeichenweise probiert, und es zeigt sich, dass fer Vergleich beim "ä" fehlschlägt.
Code: Alles auswählen
var
j:integer;
s1,s2:string;
gleich:boolean;
a,b:string;
.....
for j:=1 to UTF8Length(s1) do
begin
a:=UTF8Copy(s1,j,1);
b:=UTF8Copy(s2,j,1);
if a<>b then
gleich:=false;
end;
if gleich=false then
ShowMessage('gleich=false');
if s1=s2 then
ShowMessage('= funktioniert');
Code: Alles auswählen
Überwachte Ausdrücke (string bzw. "Speicherauszug"):
a ä
a c3 a4 00 ba 0d f0 ad ba 0d f0 ad ba 0d f0 ad ba 0d f0 ad ba 0d f0 ad ba 0d f0...
b ä
b c3 a4 00 c2 a4 72 6d 65 00 00 65 00 20 00 26 20 00 00 2e 00 00 00 00 74 65 72...
Hat jemand eine Idee?
LG, Helmut