9 Replies Latest reply: Jun 19, 2013 3:05 AM by 1013226 RSS

    Problem with french characters

      We are facing this problem with french characters.
      It occurs only on Windows 8 clients:

      select 'éà€ùça' as test from dual;
      -> ?????a

      Also in our application we have similar issues.

      select *
      from v$nls_parameters
      3     NLS_CURRENCY     $
      5     NLS_NUMERIC_CHARACTERS     .,
      7     NLS_DATE_FORMAT     DD-MON-RR
      9     NLS_CHARACTERSET     WE8MSWIN1252
      10     NLS_SORT     BINARY
      15     NLS_DUAL_CURRENCY     $
      17     NLS_COMP     BINARY
      19     NLS_NCHAR_CONV_EXCP     FALSE
        • 1. Re: Problem with french characters
          Greg Spall
          What's your NLS_LANG setting in Windows?

          (ie check your registry, for the Oracle cilent install, there should be an NLS_LANG setting.)
          • 2. Re: Problem with french characters
            • 3. Re: Problem with french characters
              Greg Spall
              1010223 wrote:
              I wonder if that's the problem, then?

              From the database side, you have:
              select *
              from v$nls_parameters
              1      NLS_LANGUAGE     AMERICAN
              2     NLS_TERRITORY     AMERICA
              9     NLS_CHARACTERSET     WE8MSWIN1252
              Now, the character set itself matches, however, the language and territory doesn't. I myself, am not 100% if that's having an effect - hopefully somebody else more knowledgeable can help :) Sorry I can't help more than that. You might try that, though. It won't hurt to change 1 PC windows registry to match the database, and see if it has an effect. If not, change it back.
              • 4. Re: Problem with french characters
                Sergiusz Wolicki-Oracle
                Do not worry about language and territory. They are irrelevant for display of characters.

                What tool do you actually use to look at the characters?

                -- Sergiusz
                • 5. Re: Problem with french characters
                  We use PLSQL developer (http://www.allroundautomations.com/plsqldev.html).
                  But we have te same problems in a .Net application.
                  • 6. Re: Problem with french characters
                    Sergiusz Wolicki-Oracle
                    Please, make sure you look into the right Registry key when looking at NLS_LANG. Start your .NET application or PL/SQL Developer and use a tool such as procmon.exe from Sysinternals suite to look at what Oracle DLL libraries are loaded. Look into the \BIN\ directory containing the libraries and search for the file oracle.key. This file contains the Registry branch name that you should check. Look at bot HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE branches. Also, environment variables override the registry. Open the Command Prompt window, issue the SET command with no parameters and check if NLS_LANG is not among the variables. Make sure that any identified setting contains .WE8MSWIN1252.

                    Do you use ODP .NET for the .NET application? This API should actually be immune to NLS_LANG. When looking at data in the .NET application, make sure that you look at data inserted by the application itself or by Oracle SQL Developer. If you look at data inserted with PL/SQL Developer with a wrong NLS_LANG, the data is already corrupted in the database.

                    -- Sergiusz
                    • 7. Re: Problem with french characters
                      I will check those settings.
                      But I forgot to mention that also in SQLPlus, we have the same issue.
                      • 8. Re: Problem with french characters

                        When I use procmon to monitor our appliction, I could only find 1 entry with NLS_LAN:

                        HKLM\SOFTWARE\Wow6432Node\ORACLE\NLS_LANG, but the result was: NAME NOT FOUND.

                        When I use regedit, this entry doesn't exists: link

                        In the oracle.key file I found this:


                        But that doesn't exists either.

                        In regedit, this was the only hit for NLS_LANG:

                        HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\KEY_OraClient11g_home1: link

                        SET in command prompt didn't show a record for NLS_LANG.

                        What is the best solution? Is this a bug?

                        When I add this entry: HKLM\SOFTWARE\Wow6432Node\ORACLE\NLS_LANG, then everything seems to work. But maybe there is a better solution?

                        • 9. Re: Problem with french characters

                          We found out that on some machines their was also oracle.key file in de root directory (the folder where also the BIN folder exists).

                          And it was this location that was used. On my system the file didn't exists, so I added it and that solved the problem.