CMD prompt can't display Unicode characters that are stored in oracle database correctly
Most likely you corrupted your database and you should consider to make a full restore from backup.

ALTER DATABASE CHARACTER SET ... was supported till Oracle version 9 and worked only at certain conditions.

Never use clause INTERNAL_USE or make any updates on Oracle system tables unless you are advised by Oracle Support. If you like to change the character set on an existing database, follow this instruction: Character Set Migration

Perhaps you had good luck, because you changed only WHERE NAME='NLS_NCHAR_CHARACTERSET'. National character set are hardly used nowadays, perhaps you did not destroy everything. 

Anyway, items 2.) and 3.) are correct. In case of 32 bit check also registry key HKEY_LOCAL_MACHINE&gt;SOFTWARE&gt;Wow6432Node&gt;ORACLE&gt;KEY_OraDB12Home1

In order to verify if your data is really stored in UTF-8 run 

SELECT DUMP(YOUR_COLUMN, 1016) FROM YOUR_TABLE;


And check the binary values. For comparison you can use page Unicode code converter to get UTF-8 binary values (field "UTF-8 code units") of arbitrary strings.