Konsole not displaying 'aa'x and 'ac'x

A command running in Konsole is writing code points AA and AC, both of which are valid Unicode characters, and Konsole is displaying them as “?

linux-gn5l:~ # locale
LANG=POSIX
LC_CTYPE=en_US.UTF-8
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
linux-gn5l:~ # rexxtry
  /usr/local/bin/rexxtry lets you interactively try REXX statements.
    Each string is executed when you hit Enter.
      Enter 'call tell' for a description of the features.
  Go on - try a few...             Enter 'exit' to end.
say 'aa'x
�
  .................................... /usr/local/bin/rexxtry on LINUX
say 'ac'x
�
  .................................... /usr/local/bin/rexxtry on LINUX
exit
linux-gn5l:~ # 

A similar issue exists in Kate.

They are not in locale you are using

linux-gn5l:~ # locale
LC_CTYPE=en_US.UTF-8

In UTF-8 the only valid single byte characters are in ASCII range. You are confusing UNICODE code points and their representation in current encoding. While U+00AA and U+00AC are valid UNICODE code points, their representation in UTF-8 is 0xc2aa and 0xc2ac