Re: Problem Storing Chinese Characters In Oracle 9.2 Database

From: Martin T. <bilbothebagginsbab5_at_freenet.de>
Date: 29 Jan 2007 03:41:38 -0800
Message-ID: <1170070898.070691.236990_at_h3g2000cwc.googlegroups.com>


On Jan 23, 12:33 pm, kennymcet..._at_googlemail.com wrote:
> Hi,
>
> I'm having trouble localizing my Oracle 9.2 / ASP web application for
> our Chinese-speaking users.
>
> My Oracle 9.2 Database has NLS_NCHAR_CHARACTERSET set to AL16UTF16.
>
> I've set up a test table thus:
>
> CREATE TABLE "TBL_TEST_CH"
> (
> field1 NVARCHAR2(40),
> field2 NVARCHAR2(40)
> )
> /
>
> I have the chinese character set installed on my database / web server
> (same box), as well as a test client machine. I can see chinese
> characters in my web browser, and can enter them in a test ASP page
> I've set up. When I execute an insert statement via ADO, the insert
> statement seems to work, but the result is that the data seems to be
> stored as upside-down question marks.
>
> I thought perhaps the data was being somehow scrambled between the web
> app and the database, so I set up an external table import the chinese
> data from a unicode text file:
>
> CREATE TABLE kenny.ch_import
> (
> FIELD1 NVARCHAR2(255),
> FIELD2 NVARCHAR2(255)
> )
> ORGANIZATION EXTERNAL (TYPE oracle_loader
> DEFAULT DIRECTORY ext_dat_dir
> ACCESS PARAMETERS
> (RECORDS DELIMITED BY ":"
> FIELDS TERMINATED BY "~"
> missing field values are null)
> LOCATION (ext_dat_dir:'test_ch.txt'))
> reject limit unlimited
> /
>
> However, when I query the data in the external table using my web
> application, it comes back with garbage like "ÿþ1" and the like.
>
> I'd really appreciate any suggestions on what I could do next to
> determine exactly where the problem lies. I've not been able to
> convince myself that the database is correctly storing the chinese
> character data, but I appreciate equally that the problem could lie
> elsewhere.
>
> Thanks in advance,
>
> Kenny McEwan.

Can't really comment on the web-server thing, but: For your test import setting, what encoding does the Unicode File use? Also consider using the DUMP(x, 1016) function to figure out what it is exactly that's stored in your db columns. And: NLS_LANG is set correctly?

cheers,
Martin Received on Mon Jan 29 2007 - 12:41:38 CET

Original text of this message