UTF8 in Windows console applications is still one of the greatest mysterious to me...
This is working (Win 11, Laz/main+FPC3.2.2): Add LazUtils to the project requirements and add LazUTF8 to the uses clause in order to get the UTF8 widestring manager. Then compile this code:
program concat1;
{$mode objfpc}{$H+}
uses
LazUTF8;
var
s1, s2, s3: AnsiString;
begin
s1 := '春夏';
s2 := '秋冬';
writeln(s1, #13#10, s2);
s3 := s1 + s2;
writeln(s3);
readln;
end;
Depending on the codepage selected, the utf8 strings will not be displayed correctly in the IDE, but when you open a separate console window, type "chcp 65001" to change the codepage to utf8 and then run the application, it will be ok. SetConsoleOutput() has no effect on my system...