This discussion is archived
9 Replies Latest reply: Jun 19, 2013 1:05 AM by 1013226 RSS

Problem with french characters

1013226 Newbie
Currently Being Moderated
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
->
1     NLS_LANGUAGE     AMERICAN
2     NLS_TERRITORY     AMERICA
3     NLS_CURRENCY     $
4     NLS_ISO_CURRENCY     AMERICA
5     NLS_NUMERIC_CHARACTERS     .,
6     NLS_CALENDAR     GREGORIAN
7     NLS_DATE_FORMAT     DD-MON-RR
8     NLS_DATE_LANGUAGE     AMERICAN
9     NLS_CHARACTERSET     WE8MSWIN1252
10     NLS_SORT     BINARY
11     NLS_TIME_FORMAT     HH.MI.SSXFF AM
12     NLS_TIMESTAMP_FORMAT     DD-MON-RR HH.MI.SSXFF AM
13     NLS_TIME_TZ_FORMAT     HH.MI.SSXFF AM TZR
14     NLS_TIMESTAMP_TZ_FORMAT     DD-MON-RR HH.MI.SSXFF AM TZR
15     NLS_DUAL_CURRENCY     $
16     NLS_NCHAR_CHARACTERSET     AL16UTF16
17     NLS_COMP     BINARY
18     NLS_LENGTH_SEMANTICS     BYTE
19     NLS_NCHAR_CONV_EXCP     FALSE
  • 1. Re: Problem with french characters
    Greg.Spall Expert
    Currently Being Moderated
    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
    1013226 Newbie
    Currently Being Moderated
    DUTCH_THE NETHERLANDS.WE8MSWIN1252
  • 3. Re: Problem with french characters
    Greg.Spall Expert
    Currently Being Moderated
    1010223 wrote:
    DUTCH_THE NETHERLANDS.WE8MSWIN1252
    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) Expert
    Currently Being Moderated
    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
    1013226 Newbie
    Currently Being Moderated
    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) Expert
    Currently Being Moderated
    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
    1013226 Newbie
    Currently Being Moderated
    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
    1013226 Newbie
    Currently Being Moderated

    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:

    SOFTWARE\ORACLE\KEY_OraClient11g_home1

    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
    1013226 Newbie
    Currently Being Moderated

    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.

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points