I have 2 curses apps that I originally built on ubuntu 18.04 - and both work fine there.
When I copied them over to a new 20.04 system and tried to run them, the loader said it couldn't find libncurses5.so. So I tried installing libncurses5 (plus the corresponding -dev package), and then the apps worked - and everything displayed normally. But then I rebuilt them on the 20.04 system, and while they were able find the library and run, they both displayed funny characters - and one of them didn't position stuff right.
I then removed the libncurses5 stuff I had installed, and rebuilt the apps again (against ncurses6, which is still installed). Now, one of the apps displays everything correctly, but the other still displays stuff wrong - and in the wrong positions. By the way, gcc was originally unable to find "curses.h" until I had installed the ncurses5 stuff - but it still finds it okay after having uninstalled ncurses5.
So, is ncurses6 incompatible with code written in the days of ncurses5? I would suspect I just have $TERM set wrong (it's xterm-256color - in an ssh session running from Konsole), but why would the one program work, but not the other - with the same $TERM setting?