NLS_LANGUAGE=Chinese
Howdy.
Did anyone try putting NLS_LANGUAGE=Chinese into the instance
parameter file? According to the docs it's completely legal,
still I am getting
ORA-12700: invalid NLS parameter value (nls_language)
message. Any other language I tried worked fine. (Tried Spanish,
Czech, Hungarion)
Thanks...
Csaba
null
The Parameter is 'NLS_LANGUAGE=SIMPLIFIED CHINESE'(not lowercase)
& 'NLS_CHARACTERSET=ZHS16GBK'.
Csaba T_nczos (guest) wrote:
: Howdy.
: Did anyone try putting NLS_LANGUAGE=Chinese into the instance
: parameter file? According to the docs it's completely legal,
: still I am getting
: ORA-12700: invalid NLS parameter value (nls_language)
: message. Any other language I tried worked fine. (Tried
Spanish,
: Czech, Hungarion)
: Thanks...
: Csaba
null
Similar Messages
-
Hello,
I had store the chinese character using
nvarchar2 in Oracle9i using UTF-16 encoding
(NLS_NCHAR_CHARACTERSET = AL16UTF16 )
The problem is how i can i read the
chinese character using SQLPlus or iSQLPlus ?
When i select the field, it display "???"
I had try to set nls_language = "Chinese Traditional"
and using convert(zh,"AL16UTF16","UTF8") in SQL
but no use ...
Thx
Kenny MakMak,
You need to use the setFormofUSe in order for your data to get loaded correctly. I am cutting this out of the globalization guide (which you should read):
Binding and Defining Java Strings to SQL NCHAR Datatypes
For binding or defining Java string variables to SQL NCHAR datatypes, Oracle
provides an extended PreparedStatement which has the setFormOfUse()
method through which you can explicitly specify the target column of a bind
variable to be a SQL NCHAR datatype. The following code illustrates how to bind a
Java string to an NCHAR column.
int employee_id = 12345;
String last_name = "Joe"
oracle.jdbc.OraclePreparedStatement pstmt =
(oracle.jdbc.OraclePreparedStatement)
conn.prepareStatement("INSERT INTO employees (last_name, employee_id)
VALUES (?, ?)");
pstmt.setFormOfUse(1, oracle.jdbc.OraclePreparedStatement.FORM_NCHAR);
pstmt.setString(1, last_name);
pstmt.setInt(2, employee_id);
pstmt.execute(); /* execute to insert into first row */
employee_id += 1; /* next employee number */
last_name = "\uFF2A\uFF4F\uFF45"; /* Unicode characters in name */
pstmt.setString(1, last_name);
pstmt.setInt(2, employee_id);
pstmt.execute(); /* execute to insert into second row */
You can define the target SQL NCHAR columns by specifying their datatypes, forms
of use, and lengths. JDBC uses this information to optimize the performance of
fetching SQL NCHAR data from these columns. The following is an example of
defining a SQL NCHAR column.
OraclePreparedStatement pstmt = (OraclePreparedStatement)
conn.prepareStatement("SELECT ename, empno from emp");
pstmt.defineColumnType(1,Types.VARCHAR, 3,
OraclePreparedStatement.FORM_NCHAR);
pstmt.defineColumnType(2,Types.INTEGER);
ResultSet rest = pstmt.executeQuery();
String name = rset.getString(1);
int id = reset.getInt(2);
To define a SQL NCHAR column, you need to specify the datatype that is equivalent
to a SQL CHAR column in the first argument, the length in number of characters in
the second argument, and the form of use in the fourth argument of
defineColumnType().
You can bind or define a Java string against an NCHAR column without explicitly
specifying the form of use argument. This implies the following:
If you do not specify the argument in the setString() method, then JDBC
assumes that the bind or define variable is for the SQL CHAR column. As a
result, it tries to convert them to the database character set. When the data gets
to the database, the database implicitly converts the data in the database
character set to the national character set. During this conversion, data can be
lost when the database character set is a subset of the national character set.
Because the national character set is either UTF8 or AL16UTF16, data loss
would happen if the database character set is not UTF8 or AL32UTF8.
Because implicit conversion from SQL CHAR to SQL NCHAR datatypes happens
in the database, database performance is degraded.
In addition, if you bind or define a Java string for a column of SQL CHAR datatypes
but specify the form of use argument, then performance of the database is
degraded. However, data should not be lost because the national character set is
always a larger set than the database character set.
You need to set your NLS_LANG on the middle tier or client where you set up iSQL*PLUS. -
Unable to read chinese characters in a flat file to external table
Hi All,
We have a flat file containing data in chinese. We are using external table to read data in files. When i do select <coulmn-name> from <table> it displays box for the chinese characters. The column is of type varchar2.
The NLS_LANGUAGE is AMERICAN and NLS_CHARACTERSET is AL32UTF8.
The character set is mentioed as UTF8 in external table defnition.
Is the external table not reading these charcters properly? Should any patch be installed or some settings should be changed for sql developer to to display chinese character?The NLS_LANG environment variable/registry string variable (You are just one of the 1000s of 'anonymous' users refusing to post platform and version), so NOT NLS_LANGUAGE, on the server hosting the file, should be set to anything ending in .AL32UTF8
Sybrand Bakker
Senior Oracle DBA -
Displaying Chinese characters in SQL*Plus
DB version: 11.2
OS Version : AIX 6.1
DB characterset:AL32UTF8
To display chinese characters in SQL*Plus, I did the following:
$ export LANG=zh_CN.UTF-8
$ export LC_ALL=zh_CN.GB2312
$ export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
$
$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.2.0 Production on ÐÇÆÚÈý 5ÔÂ 2 15:52:33 2012
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning option
SQL> ALTER SESSION SET NLS_LANGUAGE='SIMPLIFIED CHINESE';
Session altered.
SQL> ALTER SESSION SET NLS_TERRITORY='CHINA';
Session altered.
SQL> select unistr('\8349') from dual; ---- not 100% sure if this is the way to verify if chinese characters can be displayed.
UN
²Ý ----------------------------------------> Getting a junk character instead of chinese If I was using putty, are the above steps enough to get chinese characters displayed ?
Our ssh client is Tectia (not putty).
According the below ML Note, the SSH client has to configured correctly to use globalization features.
+The correct NLS_LANG setting in Unix Environments [ID 264157.1]+
Googling "Tectia + Chinese" didn't return useful resultsI understand that you are talking about Windows SSH Client.
For Putty, you should set:
$ export LANG=zh_CN.UTF-8
$ export LC_ALL=zh_CN.UTF-8
$ export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
and configure Putty in Window->Translation to use UTF-8.
There is nothing about this subject on Tectia website and in their manuals, so my best guess is that the client requires Windows code page to work correctly. In such case you need to set your Windows system default locale (locale for non-Unicode programs) to Chinese and use the following settings on the server:
$ export LANG=zh_CN.GBK
$ export LC_ALL=zh_CN.GBK
$ export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
Verify with 'locale -a' that the setting zh_CN.GBK is supported on your system.
-- Sergiusz -
Oracle 10g - Chinese Charecter issue
Hi All
I have the following scenario and I need your valuable inputs solve my problem
I am using Oracle 10g version and I have a database created and it contains around 9 tables and 25k records, as per my current requirement I need to add few more columns in the existing tables and those new columns are going to be filled with contents from multiple languages (as of now Chinese and English). I went through Oracle 10g globalization guide and I understood that, for my requirements I need to add new columns with data types of either NVARCHAR or NCHAR.
I created the following table and tried to insert some Chinese characters as follows but it’s not coming as expected and I’m getting inserted only ‘????’ in my table columns
Please find below the list of my actions from SQL Developer
create table Employee(EmpId varchar(255), EmpName NCHAR(255));
insert into Employee(EmpId, EmpName) values('280129','彭俊睦');
select * from Employee;280129 ¿¿¿
insert into Employee(EmpId, EmpName) values('28018',N'彭俊睦');
select * from Employee;280129 ¿¿¿
28018 ¿¿¿
When I run the “select * from v$nls_parameters;” query I’m getting the following data
NLS_LANGUAGE --------- SIMPLIFIED CHINESE
NLS_TERRITORY--------- AMERICA
NLS_CURRENCY--------- $
NLS_ISO_CURRENCY--------- AMERICA
NLS_NUMERIC_CHARACTERS--------- .,
NLS_CALENDAR--------- GREGORIAN
NLS_DATE_FORMAT--------- DD-MON-RR
NLS_DATE_LANGUAGE--------- SIMPLIFIED CHINESE
NLS_CHARACTERSET--------- WE8ISO8859P1
NLS_SORT--------- BINARY
NLS_TIME_FORMAT--------- HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT--------- DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT--------- HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT --------- DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY--------- $
NLS_NCHAR_CHARACTERSET--------- AL16UTF16
NLS_COMP--------- BINARY
NLS_LENGTH_SEMANTICS--------- BYTE
NLS_NCHAR_CONV_EXCP--------- FALSE
Please let me know what I’m doing wrong, and help me to solve this problem.
Waiting for your update
Thanks
With Regards
Venkatesh
Edited by: user13118930 on May 21, 2010 5:20 PMDear ,
The problem is with your SQL>
You can not use the unicode characters in the sql * plus ad the sql * plus is not able to identify them
you need to do is as follow:
you can use a high ide for the input and output which supports the unicode system for the chacaters input;
as in the sql * plus if you are typing the chinese characters then sql*plus environment which is taking only the
256 characters could not understand the given characters and hence ? is inserted as default exceptions for not recognising any characters....
So use the graphical user interface to enter the data and extract the data..
You can even take the html forms to enter the data for unicode character sets and any others developer
forms using richtext box for the input...
Even you can take the MS Access forms to enter the data in unicode supports and link the tables with oracle...
If still problem then come back
Best of luck -
The result of sorting Chinese is weird
I am evaluating Oracle 9i's Chinese sorting feature.
I insert several Chinese records into a UTF-8 database, set my client session's NLS_SORT parameter to one of the Chinese sorts Oracle 9i supplied, then retrieve the ordered result.
From the view of a native Chinese user, I find the result is weird. It is sorted based not on Pinyin nor on Stroke count. So what's the matter?
My database's parameters are:
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CHARACTERSET UTF8
NLS_SORT BINARY
NLS_NCHAR_CHARACTERSET AL16UTF16
I've tried:
Alter session set NLS_SORT=SChinese_Stroke_M;
Select * from SChinese order by Chinese;
And
Select * from SChinese order by NLSSORT(Chinese, 'NLS_SORT=SCHINESE_PINYIN_M');
Thanks in advance.
Doug Wang.Hi Barry,
Thanks for your prompt reply.
At first I created a table with a Nvarchar column in it. Then I populated the data from the above table to another table with a varchar column. The ordering results are the same.
I dump the NLS parameters as follows: (The character set of my db is UTF-8)
PARAMETER VALUE
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT SCHINESE_PINYIN_M
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
PARAMETER VALUE
NLS_COMP ANSI
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
And I dump part of my data and result as follows:
SCHID CHINESE UNICODEBIN
3 埃 \u57c3
20 厂 \u5382
5 哎 \u54ce
18 凵 \u51f5
8 捱 \u6371
4 挨 \u6328
22 爱 \u7231
23 讪 \u8baa
24 龘 \u9f98
2 阿 \u963f
10 rows selected.
DUMP(CONVERT(CHINESE,'AL16UTF16'),16)
Typ=1 Len=6: 0,e5,1,78,1,92
Typ=1 Len=6: 0,e5,1,7d,20,1a
Typ=1 Len=6: 0,e5,20,1c,1,7d
Typ=1 Len=6: 0,e5,20,21,0,b5
Typ=1 Len=6: 0,e6,0,8d,0,b1
Typ=1 Len=6: 0,e6,1,52,0,a8
Typ=1 Len=6: 0,e7,2,c6,0,b1
Typ=1 Len=6: 0,e8,0,ae,0,aa
Typ=1 Len=6: 0,e9,0,be,2,dc
Typ=1 Len=6: 0,e9,2,dc,0,bf
10 rows selected.
Regards,
Doug -
Problem fetching Chinese Characters over DB Link
Hi,
I'm currently fetching data from SQL Server 2005 through a DB Link I created in my Oracle XE 11g. Some of these data are in Chinese Characters.
When doing a SELECT statement from the table using SQL Developer, it shows me ?????. When doing the same SELECT directly to the SQL Server using MS SQL Server Management Studio, it shows the correct character in Chinese.
Is there a setting so that I can properly fetch the data in my Oracle Database?
EDIT: Sorry forgot to provide NLS settings.
SQL> col parameter format a30
SQL> col value format a40
SQL> select * from nls_session_parameters;
PARAMETER VALUE
NLS_LANGUAGE SIMPLIFIED CHINESE
NLS_TERRITORY CHINA
NLS_CURRENCY úñ
NLS_ISO_CURRENCY CHINA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE SIMPLIFIED CHINESE
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY úñ
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
17 rows selected.
SQL>Thanks,
AllenAllen Sandiego wrote:
sb92075 wrote:
Allen Sandiego wrote:
Hi,
I'm currently fetching data from SQL Server 2005 through a DB Link I created in my Oracle XE 11g. Some of these data are in Chinese Characters.
When doing a SELECT statement from the table using SQL Developer, it shows me ?????. When doing the same SELECT directly to the SQL Server using MS SQL Server Management Studio, it shows the correct character in Chinese.
It appears that you have a data display problem & I am not convinced that it has anything to do with XE;
just SQL Developer.
When was the last time SQL Developer properly displayed Chinese characters?Hi,
I've never had any chance to view Chinese characters before in SQL Developer. This is my first attempt.
EDIT: I tried the following SELECT statement in SQL Developer and it seems to display the Chinese character just fine.
select unistr('\8349') from dual;So I'm guessing the problem was while I was trying to fetch the data from the SQL Server DB.The data is good in the SQLServer DB & SQL Developer can display when it gets them.
so problem is with the ODBC between the two systems. -
Unable to insert Chinese characters in Database
My problem is that I am not able to insert chinese
(to traditional chinese) characters into my tables in the
database.
I have changed the character set to UTF8 while creating the
database and also tried the alter session command in SQL to
alter the NLS_LANGUAGE and NLS_TERRITORY (to say traditional chinese).
But this did not solve my problem.
Also tried all possibilites like getting Chinese characters
in my notepad by copy - paste from a Chinese web site
but while giving the insert into command in my database
it takes some junk values.
Someone PLEASE HELP!!!URGENT!!!
Thanks in advance.
RKP
nullYou mentioned in your first note that you have set your database character set to UTF-8? If so, then you are able to store and retrieve multilingual data, including Chinese and Japanese characters. Your issue is not the database. Your client OS must be able to support these languages as well. It is likely that your version of OS supports only Latin and Western European characters. By the way changing your NT regional setting only effects sorting, date formats etc. It doesn't help you change the languages that your keyboard will support.
1.To determine your Win32 operating system's current ANSI CodePage (ACP). This can be found by bringing up the registry editor (Start --> Run..., type "regedit.exe", and click "OK") and looking at the
registry entry HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\ACP (there are many registry entries with very similar names, so please make sure that you are looking at the right place in the registry).
2.To find the character set in the table below based on the ACP you got above.
ANSI CodePage (ACP) Client character set (3rd part of NLS_LANG) (*1)
1250 EE8MSWIN1250
1251 CL8MSWIN1251
1252 WE8MSWIN1252
1253 EL8MSWIN1253
1254 TR8MSWIN1254
1255 IW8MSWIN1255
1256 AR8MSWIN1256
1257 BLT8MSWIN1257
1258 VN8MSWIN1258
874 TH8TISASCII
932 JA16SJIS
936 ZHS16GBK
949 KO16MSWIN949
950 ZHT16MSWIN950
others UTF8 (*2)
(*1) The character sets listed here are compatible with Win32's non-Unicode graphical user interface (GUI). Since Win32's MSDOS Box (Command Prompt) uses different character sets, NLS_LANG needs to be manually set in the MSDOS Box (or set in a batch script) in order to handle the difference
between Win32's GUI and MSDOS Box. (Please see "NLS_LANG Settings in MS-DOS Mode and Batch Mode" in the Oracle8i Installation Guide Release 2 (8.1.6) for Windows NT, part# A73010-01.)
(*2) If you use UTF8 for the 3rd part of NLS_LANG on Win32, client programs that you can use on this operating system would be limited to the ones that explicitly support this configuration. Recent versions of Oracle Forms' Client/Server mode (Fat-Client) on NT4.0 would be an example of such client
programs. This is because the user interface of Win32 is not UTF8, therefore the client programs have to perform explicit conversions between UTF8 (used in Oracle side) and UTF16 (used in Win32 side). -
Storing Chinese data as clob using dbms_xmlquery
Hi,
I am writing a procedure that creates a query and same is stored as CLOB in a database table. Below is a sample test program for same. I am using UTF-8 to accomodate Chinese data. The CLOB however doesn't contain valid chinese data. Please guide me on what needs to be done....
declare
l_ctx dbms_xmlquery.ctxtype;
l_xml_schema NCLOB;
begin
l_ctx := dbms_xmlquery.newcontext('SELECT * FROM (SELECT "SEC","coretypeid","coreid","Record Type","您ID" FROM (SELECT "您MultiCurrency Object".coreid "SEC","您MultiCurrency Object".coretypeid "coretypeid", "您MultiCurrency Object".coreid "coreid", "您MultiCurrency Object".CoreTypeAssocAliasDescr "Record Type", "您MultiCurrency Object".F_3441961635 "您ID"
FROM ( SELECT SUBSTR(RFN_FlexSQL_Cache.GetCTAliasDescr(CORETYPEID,3441940070,3443315783),0,50) CoreTypeAliasDescr,
SUBSTR(RFN_FlexSQL_Cache.GetCTAssocAliasDescr(CORETYPEID,3441940070,3443315783),0,50) CoreTypeAssocAliasDescr,
SUBSTR(RFN_FlexSQL_Cache.GetCTDescr(CORETYPEID,3441940070,3443315783),0,50) COREDESCRIPTION,
COREID, CORETYPEID ,F_3441961635 FROM CT_3420185025
WHERE coretypeid IN (3420185025)) "您MultiCurrency Object" )) WHERE 1 = 2');
dbms_xmlquery.setraiseexception(l_ctx, TRUE);
dbms_xmlquery.setsqltoxmlnameescaping(l_ctx, TRUE);
-- dbms_xmlquery.setdateformat(l_ctx, l_xml_sformat);
dbms_xmlquery.setencodingtag(l_ctx, 'ISO-8859-1');
l_xml_schema := dbms_xmlquery.getxml(l_ctx,2);
insert into testingXMLgen values (l_xml_schema);
-- :xml_data := dbms_xmlquery.getxml(l_ctx);
dbms_xmlquery.closecontext(l_ctx);
end;I have tried UTF-8 encoding set as well. It didn't work toodbms_xmlquery.setencodingtag(l_ctx, 'UTF-8');
Corresponding database column is NCLOB
select * from nls_database_parameters;PARAMETER VALUE
NLS_LANGUAGE AMERICAN
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET WE8ISO8859P1
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
PARAMETER VALUE
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_RDBMS_VERSION 10.2.0.5.0
20 rows selected. -
How is WE8MSWIN1252 characterset storing chinese characters???
I've read several oracle globalization documents and I'm very confused now. Here's my setup:.. everything is on 1 machine
I'm runnig oracle 9.2.0.4 database on windowsXP.
HKLM\SOFTWARE\ORACLE\NLS_LANG registry key value = NA
HKLM\SOFTWARE\ORACLE\HOME0 registry key value = AMERICAN_AMERICA.WE8MSWIN1252
select * from nls_database_parameters
returns:
NLS_CHARACTERSET = WE8MSWIN1252
NLS_LANGUAGE = AMERICAN
NLS_NCHAR_CHARACTERSET = AL16UTF16
windows xp settings for regional & language options, advanced tab under language for non-unicode programs is set to Chinese(Taiwan).
Using the strgen tool available for free from MS here (http://www.microsoft.com/globaldev/tools/strgen.mspx). I generate hundreds of CHT(Chinese Taiwan) characters and then insert them via sqlplus into a varchar2(100), then query the results getting what looks like the exact characters I put in.
If I run:
select dump(column_name), column_name from table_name;
on a row containing 4 chinese characters the results are:
Typ=1 Len=8: 165,250,184,234,187,219,179,225 [4 chinese characters go here - sorry they aren't pasting properly]
Looks like multibyte to me, but I must be missing something??
My main question is why DON'T I get question marks??? I.e. Since I'm using an single byte characterset shouldn't it be junk that is return instead of exactly, or at least what looks like exactly, the same characters be returned. I'm missing something -- please, someone clear things up for me. I will provide whatever info that is necessary.
This is very critical to us in that we've been using a front-end application for some time with this configuration and have only recently tried globalizing/localizing our web based products. It seems that in order for apache to send the proper encoding to the web based client, that the nls_lang registry entry should be set to ZHT16BIG5, which will make the browser work, but this then breaks our front-end app.
Thank you,
JasonThis is typical pass-through scenario (known as "garbage-in garbage-out").
You have defined NLS_LANG to be the same as the database character set.
Therefore, the database does no character set conversion as it thinks
no conversion is needed. You see Chinese characters because the SQL*Plus
font is set to the system default for Chinese locale. The operating system
displays received codes as Chinese and not as Western European.
For the data that you DUMPed, call LENGTH(). In a correct configuration,
with the ZHT16MSWIN950 character set, the function would return 4.
But it will return 8, because Oracle thinks the input is a string of WE8MSWIN1252
single-bytes codes. Also, try Java to show the characters. You will
not succeed, because Java converts to Unicode and this conversion from
WE8MSWIN1252 will produce mess from the Chinese codes.
In a proper configuration, you need NLS_LANG=.ZHT16MSWIN950 and
the database character set (NLS_CHARACTERSET) either ZHT16MSWIN950,
or AL32UTF8, if the database is to be really multilingual.
-- Sergiusz -
How to display things in english instead of Chinese?
I am a Chinese and when I install 11gR2, i chose both Chinese and english languages.
and when I operate on oracle, certain things like error code displays in Chinese.
I want it in english, so how can I fix it?
anyone has any idea?NLS_LANGUAGE:
http://download.oracle.com/docs/cd/E11882_01/server.112/e17110/initparams147.htm#REFRN10123
http://download.oracle.com/docs/cd/E11882_01/server.112/e10729/ch3globenv.htm#NLSPG199 -
How to see Chinese data using SQL Plus?
Hi,
Is it possible to see the Chinese character string saved in the database by using English version Sql Plus? The following data is set up in the table NLS_DATABASE_PARAMETERS in my oracle database. I'm really appreciated if anybody could help me.
Thanks,
Suwei Ma
[email protected]
PARAMETER VALUE
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET UTF8
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
PARAMETER VALUE
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZH:TZM
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZH:TZM
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_NCHAR_CHARACTERSET UTF8
NLS_RDBMS_VERSION 8.1.7.4.1Thanks for your repley. I don't think I need to change NLS_CHARACTERSET setup because I can load Chinese data into the database and also can see the data by running Chinese tool like NJStar Communicator. Therefore, I probably need to change the session level parameters, but not sure.
-
Implementing Chinese language in Oracle 11g
Hi,
I had implemented Chinese language (along with the default English) in oracle 8i (Version 8.1.7) database with Character set = UTF8 and NLS_LANG=AMERICAN_AMERICA.UTF8.I am able to insert chinese as well as English characters through Forms 6i(Client side) into the above 8i database(server side).
I created Oracle 11g(Release 1) database with following configurations :
character set=AL32UTF8
NLS_LANG=AMERICAN_AMERICA.AL32UTF8 (in Registry)
But, when i try to insert the Chinese characters, Then i can see only the symbol '??????????' gets reflected from the database.
ALTER SESSION SET NLS_LANGUAGE="SIMPLIFIED CHINESE" NLS_TERRITORY=CHINA;
Also i tried the above command, but I end up only with ??????? instead of Chinese characters in SQL prompt.
Kindly provide the configurations needed to be made(both in the Client & Server side) to implement Chinese language (along with the default English) in Oracle 11g(Release 1) database.
With Regards,
Abul and sriniFollowing Metalink documents speaks about 11g(UTF8) Database with Forms 6i compatibility.
{font:helvetica}*Doc_ID : 260893.1*{font} - Speaks about {font:courier}UTF8 With S{font}{font:helvetica}{font}{font:courier}upports 8.0-11g Verssions{font}
{font:helvetica}*Doc_ID :* {font}{font:helvetica}*237593.1*{font} - Speaks about converting 11g DB AL32UTF8 to UTF8 for Oracle 8.0 support
As per the documents i have applied 11.1.0.7.0, and using CSALTER converted my db to UTF8.
Now i am able to connect forms6i with UTF8 11G Database. But Chenese charactors not getting saved.
In OS level i have set following environments.
Installed Chinese Language in Database and form 6i servers.
Changed registry NLS_LANG=AMERICAN_AMERICA.UTF8 in both Database and Forms Servers Home.
Please help.
Abk
Edited by: Abk on Mar 13, 2009 3:48 PM -
How to Insert Chinese characters in Japanese Database
Hi all,
I am having following characteristics on my computer
Machine OS --Windows Server 2003
OS language --Japanese
Oracle
Oracle9i Release 9.2.0.1.0 - Production
NLS_LANGUAGE JAPANESE
NLS_CHARACTERSET JA16SJIS
Now, i want to insert into database chinese characters. Please guide me how to do the following thing.
How to insert chinese characters on local machine and if i want to insert on the remote databse (i can not create database link for remote database). I have to send batch file or SQL file and they will execute it on their side.
if i use this command
alter session set nls_language = "SIMPLIFIED CHINESE"
and then insert the records and revert back to japanese character set. Is this correct way....?
Thanks in advance,
PalAs dombrooks has pointed out, unless all the Chinese characters you are trying to store can be represented in the Shift-JIS character set, which seems unlikely, but I'm not an expert on East Asian languages and I believe there are some glyphs that are shared between various languages, then you're not going to be able to store this data in this database in CHAR or VARCHAR2 columns.
Depending on the national character set, you may be able to store the data in NCHAR/ NVARCHAR2 columns, though using these data types can substantially increase application complexities since various languages and libraries don't support NCHAR/ NVARCHAR2 columns or require you to jump through some hoops to use them. Your applications would also have to support both character sets, so your applications would all have to be Unicode enabled most likely, which is certainly possible but it may not be a trivial change.
Justin -
Hi,
I have problems in displaying "Hong Kong Chinese Character" (香港字) in Oracle forms from client side(using Developer 2000).
I have already downloaded the patch supplied by HKSAR website and can display and type these characters in the browsers but still cannot see it in the forms.
I tried other machines, some can display well. Any suggestions? Many thanks in advance.Hello,
I'm using Oracle 10g R2 and my database NLS settings are -
PARAMETER VALUE
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_CHARACTERSET WE8ISO8859P1
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
I wish to change some of the parameters so that it supports chinese. Although NCLOB or NVARCHAR2 supports well but only if chinese characters are posted directly to it.
It fails, if unicode generated by some other porgram, say a java application, is posted to the same column and later on fetched and displayed in browser.
Thanks & regards,
Sanjeev.
Maybe you are looking for
-
Dear Friends When we are doing MIRO, number of tax line items are created in a document for each material line item. How to get total tax in one tine item. Thanks & Regards
-
Clarification required in File to DB scenario
Hi all, I have a requirement to insert flat file records to a Oracle database. Few fields in the database are of type nchar/nvarchar.Is there any special transformation required in PI for these fields, as my records are not getting inserted into DB w
-
Can I modify the value of an enviroment entry for an EJB without having to re-deploy.
I wish to modify the value of an envrioment entry for an EJB. The entry already exists and has been created using <env-entry> <env-entry-name>myFlag</env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value>true</env-entry-v
-
Can't find Wordsearch.as
Where is the file WordSearch.as from the example Mouseinput from Wordsearch? Not in the map Samples/Wordsearch at the Adobe website. I downloaded that map: there are two files in: dictionary.txt and WordSearch.mxml
-
Using Web Dynpro authentication for a Web Service call
Hi all, I want to develop a Web Dynpro that calls a Web Service running on the same Web AS (7.0). The Web Dynpro will be integrated in a Portal. The web service that has to be called is automatically generated when we create a guided procedure : http