I have a table. It's name is INSTITUTION. It has a NUMBERINS_ID and NVARCHAR2(50)INS_NAME . INS_NAME can contain Turkish characters, such as "ğ,ü,ş,ç,ö". According to business logic, there can not be a repetition on the INS_NAME.
User will enter institution name from a textbox in ASP.NET , and I check this name in database from c sharp code, if there is no repetition, we will add this record.
The problem is; when user enter a instition name that contains Turkish character, there is a duplication. If there is a instition name is *"su işleri"* , the both query; SELECT * FROM INSTITUTION WHERE INS_NAME = *'su işleri'*; and SELECT * FROM INSTITUTION WHERE INS_NAME = *'su isleri'*; returns no result, even though there it is.
But if instition name is "oracle corporation" (there is no Turkish character) it query successfully. I have the same problem in Toad for Oracle 18.104.22.168. When I query database from toad SELECT * FROM INSTITUTION, the phrase *"su işleri"* has appeared. But when I query SELECT * FROM INSTITUTION WHERE INS_NAME = *'su işleri'*; , there is again no result.
When I connect oracle database directly and perform the query SELECT * FROM INSTITUTION , the phrase *"su isleri"* (not *"su işleri"* ) has appeared.
Here are the language settings of the database:
National Language Support
National Language Parameter Value
NLS_TIMESTAMP_TZ_FORMAT____DD/MM/RRRR HH24:MI:SSXFF TZR
How can I resolve that problem? Thanks in advance.
Edited by: 963344 on 05.Eki.2012 01:00
Edited by: 963344 on 05.Eki.2012 01:01
Edited by: 963344 on 05.Eki.2012 01:06
Check the character set repertoire of win-1252 (look for the typical turkish language characters you've mentioned above).
Look at character names, such as "... letter s with cedilla".
Since you seem to be using nchar type, please read about nchar literal replacement -- how to "preserve" character data despite database character set missing characters (while nchar character set supports the characters used).