With the risk of annoying the experts (but lacking UTF-8 is a show stopper for me, since I write a lot in Spanish and German..).
I compiled the same st code on Debian 11 (Bullseye) and Pop OS! (Ubuntu 21.10). On Debian, UTF-8 works fine, on Pop OS!, with the same keyboard, it doesn't. In both cases, UTF-8 works in lxterminal. The Liberation Mono (Regular) font, defined in `config.h` is installed. LC_CTYPE is set correctly to "en_US.UTF-8" The terminfo entries are added (tic -sx st.info) There are no warnings or errors during the compilation: ~~~ root@pop-os /h/r/d/n/s/st# make clean; make install rm -f st st.o x.o st-0.8.5.tar.gz c99 -I/usr/X11R6/include `pkg-config --cflags fontconfig` `pkg-config --cflags freetype2` -DVERSION=\"0.8.5\" -D_XOPEN_SOURCE=600 -O1 -c st.c c99 -I/usr/X11R6/include `pkg-config --cflags fontconfig` `pkg-config --cflags freetype2` -DVERSION=\"0.8.5\" -D_XOPEN_SOURCE=600 -O1 -c x.c c99 -o st st.o x.o -L/usr/X11R6/lib -lm -lrt -lX11 -lutil -lXft `pkg-config --libs fontconfig` `pkg-config --libs freetype2` mkdir -p /usr/local/bin cp -f st /usr/local/bin chmod 755 /usr/local/bin/st mkdir -p /usr/local/share/man/man1 sed "s/VERSION/0.8.5/g" < st.1 > /usr/local/share/man/man1/st.1 chmod 644 /usr/local/share/man/man1/st.1 tic -sx st.info 7 entries written to /etc/terminfo Please see the README file regarding the terminfo entry of st. ~~~ If I call surf from st, the unicode characters work well. Isn't that an indicator that the configuration cannot be that wrong? Is there a systematic troubleshooting method? Of course, I could re-install the computer with Debian and try again compiling st, but there should be an easier way ... Best regards, Robert