title: Oracle SQL Developer client encoding
body: <p>I read many of the related Stack Overflow's topics and I spent a whole day with googleing the following problem but I haven't found anything that would help, however the problem not seems to be complicated.</p>
  <p>I have an Oracle database.
  Let's see the following PL/SQL script:</p>
  <pre class="lang-sql prettyprint-override"><code>    CREATE TABLE Dummy(
         id number(19,0),
         tclob clob,
         tnclob nclob,
         PRIMARY KEY (id));
      
      INSERT INTO dummy (id, tclob, tnclob) VALUES (1, 'ñ$ß¤*&gt;;''&lt;’', 'ñ$ß¤*&gt;;''&lt;’');
      SELECT tclob, tnclob FROM dummy;
  </code></pre>
  <p>My problem is that 'ñ' and '’' characters are stored as a question mark.
  I also tried to load the previously inserted values through JAVA, but I get the question marks instead of the special characters.</p>
  <p>I created a small Java method which uses OraclePreparedStatement to save test data, and I use setNString() method to attach the nclob data to the query. In this case all characters are displayed fine in Java and also in SqlDeveloper.</p>
  <p>So a possible solution is to use JAVA to save my data into the db. I have a thousands of lines SQL script which inserts data and I don't necessarily want to write the whole thing again in java.</p>
  <p>So the question is: why the SqlDeveloper breaks the special characters?</p>
  <p>My settings:</p>
  <pre class="lang-sql prettyprint-override"><code>    SELECT DECODE(parameter, 'NLS_CHARACTERSET', 'CHARACTER SET',
      'NLS_LANGUAGE', 'LANGUAGE',
      'NLS_TERRITORY', 'TERRITORY') name,
      value from v$nls_parameters
      WHERE parameter IN ( 'NLS_CHARACTERSET', 'NLS_LANGUAGE', 'NLS_TERRITORY')
  </code></pre>
  <p>Result:</p>
  <pre><code>+---------------+--------------+
  |     NAME      |    VALUE     |
  +---------------+--------------+
  | LANGUAGE      | HUNGARIAN    |
  | TERRITORY     | HUNGARY      |
  | CHARACTER SET | EE8ISO8859P2 |
  +---------------+--------------+
  </code></pre>
  <p>I changed <code>SqlDeveloper/Preferences/Environment/Encoding</code> to <code>UTF-8</code>.
  I also changed <code>HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1</code> value to <code>HUNGARIAN_HUNGARY.UTF8</code></p>
  <p><strong>Update:</strong> I tried to insert the data with the following syntaxes:</p>
  <pre><code>    INSERT INTO dummy (id, tclob, tnclob) VALUES (1, N'ñ$ß¤*&gt;;''&lt;’', N'ñ$ß¤*&gt;;''&lt;’');
      INSERT INTO dummy (id, tclob, tnclob) VALUES (1, 'ñ$ß¤*&gt;;''&lt;’', to_nclob('ñ$ß¤*&gt;;''&lt;’'));
  </code></pre>
  <p>Nothing helped.</p>
  <p>So what can I do?</p>