What version of Red Hat? What is your LANG env variable? What encoding are you using for your terminal? Your database?
You need to match the encoding of the terminal, LANG environment, and database if you want to see characters properly. Or do the character set translation. Inside the Oracle client is a common place (that is what NLS_LANG controls).
LANG signals the locale for formatting dates and stuff, and also the character set. For example en_US.UTF-8 is UTF-8.
Perl should not do any character set translation by default. Some older 5.8 versions of Perl had problems with opening stdout as utf8 when .UTF-8 was on LANG. This caused module install problems. Newer versions fixed this problem but some Red Hat releases shipped with those versions of Perl, and put UTF-8 on the locale. Red Hat 9 is the one that caused the most trouble.