What is the encoding or the characters that you have inserted? Are they characters which belong to WE8ISO8859P1 encoding?
What is the NLS_LANG defined in your windows environment?
What is the characterset set in the controlfile of the SQL*Loader if you have defined one. If you haven't defined one in the controlfile then the NLS_LANG then sqlldr uses the characterset defined by the NLS_LANG.
++ Note that the CHARACTERSET (or, if not defined, for sqlldr the NLS_LANG) needs to reflect the characterset of the FILE you try to load, not the database NLS_CHARACTERSET.
Can you have SQL Developer (a unicode tool) installed on your DB server and check if you still observe reverse question mark?