Company recently switched from Toad to Pl/Sql Developer. Just encountered issue where a query with Chinese (or Japanese) characters issued from PSD does not return results but the same query executed from Toad (or Oracle Sql Developer) on same pc/database/oracle client works fine and returns expected row.

This is an NLS_LANG related issue in terms of the way the tools are working. The database in question is using AMERICAN_AMERICA.UTF8 lang/terr/charset. Querying v$session_connect_info or using PSD Support Info tab I can tell PSD is using AMERICAN_AMERICA.WE8MSWIN1252. The other tools show either UTF16 (Toad) or UTF8 (Sql Developer).

We work in a global system where we are routinely dealing with multiple different languages. Our PC's are locked down so we cannot change settings such as the Control Panel->Regions->Administrative->Language for Non-Unicode programs or the Registry settings or environment variables or even the installed Oracle client settings.

Is there a way we can set Pl/Sql Developer appropriately via configs/preferences so it will use a given NLS_LANG setting? If I launch PSD from a command line and first set NLS_LANG = AMERICAN_AMERICA.UTF8 then it works fine. It is odd to me that the other tools using the same client are somehow ending up with a UTF8/16 setting but I can't get same behavior in Pl/Sql Developer.

Example Query:
select name
from some_table
where name = '虞绍周'

Connection/Client Details
Oracle Client: 12.1.0.2.0 (using OCI/thick client)
Windows System Locale - Language for Non-unicode programs - English (United States)
Database NLS_Lang (based on V$NLS_PARAMETERS) -> AMERICAN_AMERICA.UTF8
Pl/Sql Developer->Preferences->Oracle->Options->Unicode Enabled is checked/true
PlSql Developer->Support Info shows:
-- Info Tab:
Character Sets
Character size: 3 byte(s)
CharSetID: 0
NCharSetID: 1
Unicode Support: True
NLS_LANG: AMERICAN_AMERICA.WE8MSWIN1252
NLS_NCHAR_CHARACTERSET: AL16UTF16
NLS_CHARACTERSET: UTF8

-- Registry Tab
SOFTWARE\ORACLE\KEY_OraClient12Home1_32bit
ORACLE_HOME = C:\PROGRA~2\Oracle\ORACLE~1\product\121~1.0\client_1
ORACLE_HOME_NAME = OraClient12Home1_32bit
ORACLE_GROUP_NAME = Oracle - OraClient12Home1_32bit
NLS_LANG = AMERICAN_AMERICA.WE8MSWIN1252
Every NLS_LANG setting in this tab shows the same NLS_LANG (since multiple Oracle homes on PC)

Windows Registry - searching entire Windows registry the only keys have WE8MSWIN1252.

;Querying V$SESSION_CONNECT_INFO for sessions connected from different tools shows:
Toad connections using client_charset = UTF16 (I have no idea how/why)
PlSql Dev Connections using client_charset = WE8MSWIN1252
Sql Developer connections using client_charaset = UTF8 (I assume it's just defaulting to the database setting)

Any insight would be appreciated. Thank you!
Jason McCleskey