Unreadable Error Messages

astenmarquis

Member²
We have international locations which have recently joined our organization which forced us to convert our Oracle database to Unicode. I have been modifying settings to try to get the ability to insert or update database tables with Chinese characters, but have been unsuccessful.

As a side effect of these changes, my Oracle error messages now come up with alternating
 
Can you go to Help > Support Info, press the 'Copy all pages' button on this info screen, and paste this text into an e-mail reply?
 

--- Info ---

PL/SQL Developer
Version 7.1.5.1398
01.50846 - 30 user license
Windows XP Professional 5.1 Build 2600 (Service Pack 2)

Physical memory : 2,086,672 kB (924,736 available)
Paging file : 4,024,836 kB (2,983,028 available)
Virtual memory : 2,097,024 kB (1,995,796 available)

Parameters
C:\Program Files\PLSQL Developer\plsqldev.exe

Preferences
Session mode: Multi
OCI Library:
Use OCI7: False

Preference Files
C:\Program Files\PLSQL Developer\Preferences\Default\Default.ini
C:\Program Files\PLSQL Developer\Preferences\smarquis\default.ini

Plug-Ins
*Favorites v1.3 (C:\Program Files\PLSQL Developer\PlugIns\Favorites.dll)
(* is Active)

Aliases
APPORA1
HAJADEV
HAJAPRD
PROD900
PRODORA1
PRODORA2
PRODORA3
TEST900
TESTORA1
TESTORA2

Homes
Oracle9i (C:\oracle\9i)

DLLs
C:\oracle\9i\bin\oci.dll

TNS File
C:\oracle\9i\Network\Admin\tnsnames.ora

Using
Home: Oracle9i
DLL: C:\oracle\9i\bin\oci.dll
OCI: version 9.2
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0

Character Sets
Character size: 1 byte(s)
CharSetID: 178
NCharSetID: 2000
Unicode Support: True
NLS_LANG: SIMPLIFIED CHINESE_CHINA.ZHS16GBK
NLS_CHARACTERSET: WE8MSWIN1252
NLS_NCHAR_CHARACTERSET: AL16UTF16

--- Registry ---

SOFTWARE\ORACLE
inst_loc = C:\Program Files\Oracle\Inventory
ORACLE_HOME = C:\oracle\9i
ORACLE_HOME_NAME = Oracle9i
API = C:\oracle\9i\dbs
ORACLE_GROUP_NAME = Oracle - Oracle9i
NLS_LANG = WE8MSWIN1252

SOFTWARE\ORACLE\ALL_HOMES
HOME_COUNTER = 1
DEFAULT_HOME = Oracle9i
LAST_HOME = 0

SOFTWARE\ORACLE\ALL_HOMES\ID0
NAME = Oracle9i
PATH = C:\oracle\9i
NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK

SOFTWARE\ORACLE\Desktop Sharing Run-Time

SOFTWARE\ORACLE\Desktop Sharing Run-Time\Driver Usage
{6EC12D06-9C55-4609-9105-C33093D5717C} =

SOFTWARE\ORACLE\HOME0
ID = 0
ORACLE_GROUP_NAME = Oracle - Oracle9i
ORACLE_HOME_NAME = Oracle9i
ORACLE_HOME = C:\oracle\9i
NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK
ORACLE_BUNDLE_NAME = Enterprise
SQLPATH = C:\oracle\9i\dbs
ORACLE_HOME_KEY = Software\ORACLE\HOME0
ORA_NCHAR_LITERAL_REPLACE = True

--- Path ---

C:\oracle\9i\bin
C:\Program Files\Oracle\jre\1.3.1\bin
C:\Program Files\Oracle\jre\1.1.8\bin
C:\WINDOWS\system32
C:\WINDOWS
C:\WINDOWS\System32\Wbem
C:\Program Files\Wave Systems Corp\Dell Preboot Manager\Access Client\v5\
C:\Program Files\Windows Imaging\

--- TNS names ---

# TNSNAMES.ORA Network Configuration File: C:\oracle\ora92\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
#
# mfrancis - Aug 13, 2009
# IT Version

PRODORA1.AJ.ROOT.LOCAL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = jdeprd1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = PRODORA1.WORLD)
)
)

PRODORA2.AJ.ROOT.LOCAL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = hajaprd)(PORT = 1531))
)
(CONNECT_DATA =
(SERVICE_NAME = PRODORA2.WORLD)
)
)

PRODORA3.AJ.ROOT.LOCAL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = hajaprd)(PORT = 1527))
)
(CONNECT_DATA =
(SERVICE_NAME = PRODORA3)
)
)

APPORA1.AJ.ROOT.LOCAL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = jdeprd1)(PORT = 1531))
)
(CONNECT_DATA =
(SERVICE_NAME = APPORA1.WORLD)
)
)

TESTORA1.AJ.ROOT.LOCAL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = jdeprd1)(PORT = 1531))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = TESTORA1)

)
)

TESTORA2.AJ.ROOT.LOCAL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = hajaprd)(PORT = 1531))
)
(CONNECT_DATA =
(SERVICE_NAME = TESTORA2)
)
)

HAJAPRD.AJ.ROOT.LOCAL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = hajaprd)(PORT = 1527))
)
(CONNECT_DATA =
(SERVICE_NAME = HAJAPRD)
)
)

HAJADEV =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = HAJAPRD)(PORT = 1531))
)
(CONNECT_DATA =
(SERVICE_NAME = HAJADEV)
)
)

PROD900.AJ.ROOT.LOCAL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = oraprd1)(PORT = 1535))
)
(CONNECT_DATA =
(SERVICE_NAME = prod900)
)
)

TEST900.AJ.ROOT.LOCAL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = oratst1)(PORT = 1532))
)
(CONNECT_DATA =
(SERVICE_NAME = test900)
)
)

 
I can query a table and see the Chinese characters. But when I try to do an update statement to that record with different Chinese characters, the result is ??????? which shows up when I re-query the record.

update chcrpdta.f0101 set abalph='Imagine Chinese Characters Here' where aban8=1004405;

yields:

?????????? in that field, but a different field remains in Chinese.
 
Last edited:
Also, I can do a select .... for update and paste in the Chinese characters and they get saved and properly display when querying the record.
 
I tried changing NLS_LANG to SIMPLIFIED CHINESE_CHINA.UTF8. This caused PL/SQL Developer to generate the warning that the database character set (WE8MSWIN1252) and the Client character set (UTF8) are different. Noentheless, I tried my update statement and still got the upside down question marks instead of Chinese characters.

I still get strange characters in my Oracle error messages.
 
I just removed the NLS_LANG, NLS_CHARACTERSET and NLS_NCHAR_CHARACTERSET environment variables and this fixed my problem with the error messages. I can still see the Chinese characters when I query a table containing them and I can paste them in on a select...for update statement. However, I still can't do an update ... set ... without getting the upside down question marks.

Any other ideas?
 
Back
Top