Oracle Character sets with PeopleSoft - AL32UTF8 vs. UTF8
We currently have PeopleSoft FInancials v8.8 with PeopleTools 8.45 running on Oracle 9.2.0.8 with the UTF8 character set.
We plan to upgrade to Oracle 10.2, and want to know if we can and should also convert the character set to AL32UTF8.
Any issues?
(A couple of years ago, we were told that AL32UTF8 was not yet supported in PeopleSoft).
Right now, something strange, Oracle recommand do not use anymore UTF8, and Peoplesoft recommand do not use AL32UTF8 yet.
You can read the solution id #719906, but anyway, AL32UTF8 on PT8.4x should works fine.
Nicolas.
Similar Messages
-
Risk involved converting Oracle character set to Unicode (AL32UTF8 or UTF8)
Hi All -
I am a PL/SQL devloper and quite new in Database Adminstration have very little knowledge base on this.
Currently I am working on project where we have requirement to store data in Multiple Languages in Database.
After my findings via Google I am clear that our database character set needs to be changed to Unicode (AL32UTF8 or UTF8). Before moving forward I would like to know what are the risk involved doing this?
Few Question:-
Would this change take long time & involve lots of effort ?
Can we revert back once this chnage is done, with no data loss?
Will there be any changes required while wrting SQL on tables having multi language data?
As of now requirement to store data in Multi Language is very specfic to some tables only, not the whole DB, are there any other options storing data in diffrent languages like (Spanish,Japnese,Chinese,Italian, German, and French) in just one specific table?
Thanks...
Edited by: user633761 on Jun 7, 2009 9:15 PM>
Will there be any changes required while wrting SQL on tables having multi language data?If you move from single byte character set to multi byte character set, you should take into count that 1 character my use 1,2,3 or 4 bytes to be stored: http://download.oracle.com/docs/cd/B19306_01/server.102/b14225/ch2charset.htm#i1006683
This may impact SQL or PL/SQL code that is working on character string lengths.
Note also that using exp/imp to change database character set is not so simple; see following message:
Re: charset conversion from WE8ISO8859P1 (8.1.7.0) to AL32UTF8(9.0.1.1)
>
As of now requirement to store data in Multi Language is very specfic to some tables only, not the whole DB, are there any other options storing data in diffrent languages like (Spanish,Japnese,Chinese,Italian, German, and French) in just one specific table?Using NCHAR character types is another possibility:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14225/ch11charsetmig.htm#sthref1493
Edited by: P. Forstmann on Jun 8, 2009 9:10 AM -
Dear all:
We installed the Latest NW7.0 SR3 for EP&EP core for my Portal application. After that ,i found that our oralce default character set is UTF-8. But some of other Java codes(Iviews,pages..which we developed on Tomcat envionment.)are based in the environment of Oracle character set ZHS16GBK. So iam confused that The NW7.0 SR3 can only install in 64bit OS and a Unicode system. Can i change the oracle character set from UTF8 to ZHS16GBK. Or how can i install the SAP system whose oracle basing on character set ZHS16GBK.
Thanks everyone.Hello Shao,
ok lets clarify some things at the beginning.
A SAP Java system is not "only using" the database characterset, it is using the national characterset (column types NCHAR, NVARCHAR2, NCLOB). You can check this by reading sapnote #669902.
You can also check sapnote #456968/#695899 for the supported super sets:
=> As of SAP Web AS Release 7.00 and Oracle client 10g, multibyte character sets are no longer supported
With these informations you can not use ZHS16GBK.
> But some of other Java codes(Iviews,pages..which we developed on Tomcat envionment.)are based in the environment of Oracle character set ZHS16GBK
Sorry but i don't understand this sentence.
What is your problem with the java code? Do you have custom tables with column types CHAR,VARCHAR2 or CLOB?
Regards
Stefan -
How to set Spanish, ESN CP1252, , oracle Character Sets WE8MSWIN1252
select * from NLS_DATABASE_PARAMETERS
database characterset is
NLS_CHARACTERSET AL32UTF8
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICAselect * from NLS_INSTANCE_PARAMETERS ;
PARAMETER VALUE
NLS_LANGUAGE SPANISH
NLS_TERRITORY SPAINhow to set Spanish, ESN CP1252, , oracle Character Sets WE8MSWIN1252
Please suggest.
Thanks In advanceIs it really ok to convert AL32UTF8 to WE8MSWIN1252?
NLS_CHARACTERSET AL32UTF8
to
NLS_CHARACTERSET WE8MSWIN1252
please suggest -
SQLException: Non supported character set: oracle-character-set-178
Hello,
I run a j2ee application on the Sun J2EE Application server.
I migrated to 0racle 9.2.0.3.
I have an ejb making a connexion with the oci driver
and in it I manipulate XMLType:
PreparedStatement pst = cnx.prepareStatement(sql);
XMLType xt = XMLType.createXML(cnx, "<ENTETE></ENTETE>");
pst.setObject(1, xt);
I've got an exception on the setObject method :
java.sql.SQLException: Non supported character set: oracle-character-set-178
at oracle.gss.util.NLSError.throwSQLException(NLSError.java:46)
at oracle.sql.CharacterSetUnknown.failCharsetUnknown(CharacterSetFactory
Thin.java:171)
at oracle.sql.CharacterSetUnknown.convert(CharacterSetFactoryThin.java:1
35)
at oracle.xdb.XMLType.getBytesString(XMLType.java:1687)
at oracle.xdb.XMLType.getBytesValue(XMLType.java:1623)
at oracle.xdb.XMLType.toDatum(XMLType.java:431)
at oracle.jdbc.driver.OraclePreparedStatement.setORAData(OraclePreparedS
tatement.java:2745)
at oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedSt
atement.java:3208)
I have the nsl_charset12.zip , ojdbc14.jar,xdb.jar,xmlparserv2.jar in the J2EE_CLASSPATH of my server.
Does any one have an idea.
Thanks , Edwige(*bump*)
Almost the exact same problem here...
"conn" is an object of type OracleConnection
"cst" is an object of type "CallableStatement"
"xml" is a String holding a well-formed XML document (say, "<foo><bar>value</bar></foo>")
XMLType xt = XMLType.createXML(conn, xml);
cst.setObject(1, xt); // BOOM! Non supported character set: oracle-character-set-178
Other relevant details:
Using the 9.2.0.3 JDBC thin client (ojdbc14.jar)
Using the newest nls_charset12.zip (in the 9.2.0.3 download section under the "1.2/1.3" heading.
JDK1.4.1_03 (04?)
Oracle itself is 9.2.0.3
database charset is 'WE8MSWIN1252' (yeah, I fought with the DBA and lobbied for UTF-8, but obviously he won that battle... sigh...)
Also relevant... prior to a few days ago, it worked. Then, the DBA did an upgrade and the charset errors began. It's hard to get a straight answer from him because his English isn't very good, but my guess is that he updated it from 9.2.0.1 to 9.2.0.3. -
Non supported character set with ojdbc14.jar
Hi.
I have an application that uses JMS/AQ and works great under JDK1.4 and with libraries:
-classes12.jar
-nls_charset12.jar
I looked at the oracle web site that says you should use the new JDBC drivers(ojdbc14.jar) but I fail to get it working. I keep getting;
oracle.jms.AQjmsException: Non supported character set: oracle-character-set-178
at oracle.jms.AQjmsSession.addDurableSubscriber(AQjmsSession.java:2616)
at oracle.jms.AQjmsSession.createDurableSubscriber(AQjmsSession.java:2124)
at oracle.jms.AQjmsSession.createDurableSubscriber(AQjmsSession.java:1872)
at prevision.socketserver.JMSThread.checkForNewAlarms(JMSThread.java:84)
Any help would be greatly appreciated!
Best regards,
Christer Nordvikhi Christer,
I have looked at the drivers download page at:http://otn.oracle.com/software/tech/java/sqlj_jdbc/htdocs/jdbc9201.html and there isn't any nls_charset12.jar for JDK1.4. I've tried using the one with JDK1.3
There isn't any nls_charset12.jar for 1.4, its the one that comes with 1.3, just wanted to check it you are using the latest version of nls_charset12.jar
BTW are you running this program from command-line or app server ? Incase of app server the latest jar's must be replaced in oc4j_home/jdbc/lib dir.
Elango. -
Non supported character set: oracle-character-set-41
Hi everyone,
I have a issue while passing a VARRAY from my Java Class to Stored Procedure.
TYPE ERR_DATA_ARRAY AS VARRAY(100) OF VARCHAR2(1000);
In my code i have used ArrayDescriptor and ARRAY class of oracle.
When i run my program in eclipse i get following exception:-
java.sql.SQLException: Non supported character set: oracle-character-set-41
at oracle.gss.util.NLSError.throwSQLException(NLSError.java:46)
at oracle.sql.CharacterSetUnknown.failCharsetUnknown(CharacterSetFactoryThin.java:171)
at oracle.sql.CharacterSetUnknown.convert(CharacterSetFactoryThin.java:135)
at oracle.sql.CHAR.<init>(CHAR.java:159)
at oracle.sql.CHAR.<init>(CHAR.java:183)
at oracle.jdbc.oracore.OracleTypeCHAR.toDatum(OracleTypeCHAR.java:161)
at oracle.jdbc.oracore.OracleType.toDatumArray(OracleType.java:166)
at oracle.jdbc.oracore.OracleTypeCHAR.toDatumArray(OracleTypeCHAR.java:208)
at oracle.sql.ArrayDescriptor.toOracleArray(ArrayDescriptor.java:1517)
at oracle.sql.ARRAY.<init>(ARRAY.java:117)
at com.niit.slims.common.ejb.Array_test.test(Array_test.java:52)
at com.niit.slims.common.ejb.Array_test.main(Array_test.java:20)
I have added ojdbc14.jar.And my working jdk is jdk1.4.
Plz help
Edited by: user10569173 on Dec 8, 2011 3:58 AMI am not an expert here,
but it seems that since you are using ojdbc14.jar you may actually need the
nls_charset12.jar
instead of the one I suggested previously.
Regards
Peter -
Hi,
i am trying to execute an Oracle procedure from JDBC. The procedure accepts a Nested table as an input parameter. Definition of the nested table is given below.
Database – Oracle 10g.
Application Server – JBOSS 4.2.1
I get the following exception._
java.sql.SQLException: Non supported character set: oracle-character-set-178
at oracle.gss.util.NLSError.throwSQLException(NLSError.java:46)
I. JDBC Code_
Session s = HibernateUtil.getSession();
Transaction tr = s.beginTransaction();
con=s.connection();
oraConn = (OracleConnection) con.getMetaData().getConnection();
TableObject obj=new TableObject();
obj.setId(new Integer(123));//Tested ok, stroing in DB
obj.setDescr("test"); // this line throwing error
obj.setCre_user(new Integer(456));
obj.setUpd_user(new Integer(789));
obj.setXfr_flag("Y");
ArrayList al=new ArrayList();
al.add(obj);
Object[] objAray = al.toArray();
ArrayDescriptor arrayDescriptor =ArrayDescriptor.createDescriptor("T_TEST_SYN", oraConn);
ARRAY oracleArray = new ARRAY(arrayDescriptor, oraConn, objAray);
cs = (OracleCallableStatement)oraConn.prepareCall("call PKG_OBJ_TEST.accept_ui_input(?) ");
cs.setArray(1, oracleArray);
cs.execute();
tr.commit();
public class TableObject implements SQLData{
private String sql_type = "T_OBJ_TEST";
private int id;
private String descr;
//private Date cre_date;
private int cre_user;
//private Date upd_date;
private int upd_user;
private String xfr_flag;
public TableObject()
public TableObject (int id,String descr,int cre_user,int upd_user,String xfr_flag)
// this.sql_type = sql_type;
this.id = id;
this.descr = descr;
// this.cre_date=cre_date;
this.cre_user=cre_user;
//this.upd_date=upd_date;
this.upd_user=upd_user;
this.xfr_flag=xfr_flag;
public String getSQLTypeName() throws SQLException {
return "T_OBJ_TEST";
public void readSQL(SQLInput stream, String typeName) throws SQLException {
//sql_type = typeName;
id=stream.readInt();
descr=stream.readString();
//cre_date=stream.readDate();
cre_user=stream.readInt();
//upd_date=stream.readDate();
upd_user=stream.readInt();
xfr_flag=stream.readString();
public void writeSQL(SQLOutput stream) throws SQLException {
try {
stream.writeInt(this.id);
System.out.println("Iddddd");
stream.writeString(this.descr);
System.out.println("Desccccccccccccccc"+":"+descr);
//stream.writeDate(cre_date);
stream.writeInt(this.cre_user);
System.out.println("userrrrrrrrrrrr");
//stream.writeDate(upd_date);
stream.writeInt(this.upd_user);
System.out.println("upd uiserrrrrrrrrrr");
stream.writeString(this.xfr_flag);
System.out.println("flagggggggggggggggggggg"+xfr_flag);
}catch (SQLException se) {
System.out.println("Table object sql exception");
se.printStackTrace();
catch (Exception e) {
System.out.println("Table object exception");
* @return the id
public int getId() {
return id;
* @param id the id to set
public void setId(Object obj) {
Integer iobj= (Integer)obj;
this.id =iobj.intValue();
* @return the descr
public String getDescr() {
System.out.println("getDescr "+descr);
return descr;
* @param descr the descr to set
public void setDescr(Object obj) {
System.out.println("setDescr "+obj);
String sobj = (String)obj;
this.descr=sobj.toString();
System.out.println("setDescr "+obj);
* @return the cre_user
public int getCre_user() {
return cre_user;
* @param cre_user the cre_user to set
public void setCre_user(Object obj) {
Integer iobj=(Integer)obj;
this.cre_user = iobj.intValue();
* @return the upd_user
public int getUpd_user() {
return upd_user;
* @param upd_user the upd_user to set
public void setUpd_user(Object obj) {
Integer iobj=(Integer)obj;
this.upd_user = iobj.intValue();
* @return the xfr_flag
public String getXfr_flag() {
return xfr_flag;
* @param xfr_flag the xfr_flag to set
public void setXfr_flag(Object obj) {
this.xfr_flag = (String)xfr_flag;
II. Oracle database object details
Details of Object and Nested table created in the database.
T_TEST_SYN is a public synonym created for t_tab_obj_test
CREATE OR REPLACE TYPE t_obj_test as object (
id number(10),
descr varchar2(100),
--cre_date date,
cre_user number(10),
--upd_date date,
upd_user number(10),
xfr_flag varchar2(1),
CONSTRUCTOR FUNCTION t_obj_test ( id IN NUMBER DEFAULT NULL,
descr IN varchar2 default null,
--cre_date in date default null,
cre_user in number default null,
--upd_date in date default null,
upd_user in number default null,
xfr_flag in varchar2 default null ) RETURN SELF AS RESULT ) ;
CREATE OR REPLACE TYPE BODY t_obj_test as
CONSTRUCTOR FUNCTION t_obj_test ( id IN NUMBER DEFAULT NULL,
descr IN varchar2 default null,
--cre_date in date default null,
cre_user in number default null,
--upd_date in date default null,
upd_user in number default null,
xfr_flag in varchar2 default null ) RETURN SELF AS RESULT IS
BEGIN
SELF.id := id ;
SELF.descr := descr ;
--SELF.cre_date := cre_date ;
SELF.cre_user := cre_user ;
--SELF.upd_date := cre_date ;
SELF.upd_user := cre_user ;
SELF.xfr_flag := xfr_flag ;
RETURN ;
END ;
END ;
CREATE OR REPLACE TYPE t_tab_obj_test AS TABLE OF t_obj_test ;
CREATE OR REPLACE PACKAGE BODY PKG_OBJ_TEST AS
PROCEDURE accept_ui_input ( p_tab_obj_test in T_TAB_OBJ_TEST ) IS
BEGIN
FOR row IN p_tab_obj_test.First .. p_tab_obj_test.LAST
LOOP
INSERT INTO OBJ_TEST ( ID,
DESCR,
CRE_DATE,
CRE_USER,
UPD_DATE,
UPD_USER,
XFR_FLAG )
VALUES ( p_tab_obj_test(row).ID,
p_tab_obj_test(row).DESCR,
NULL,
p_tab_obj_test(row).CRE_USER,
NULL,
p_tab_obj_test(row).UPD_USER,
p_tab_obj_test(row).XFR_FLAG ) ;
END LOOP ;
COMMIT ;
END accept_ui_input ;
END PKG_OBJ_TEST;
/Check your CLASSPATH enviroment variable. Try to add something like c:\Ora10g\jlib\orai18n.jar.
From "JDBC Developers Guide and Reference":
orai18n.jar
Contains classes for globalization and multibyte character sets support
This solved the same error in my case. -
Non supported character set: oracle-character-set-560
Hi,
I created a page and its working fine. In another database when i create a page error occurs as
Non supported character set: oracle-character-set-560
Thanks in Advance,
JeganHi,
Refer to the thread...Non supported character set: oracle-character-set-46??? - pls help!
it has the solution for this...
Thanks,
Gaurav -
Non supported character set: oracle-character-set-46??? - pls help!
Hello,
I'm running Hello World example. Could you please help me to resolve "Non supported character set: oracle-character-set-46" error i got?!?!
This seems to be nls_character problem but somehow i can't figure out what and where should be changed to solve the issue :( .
thnks,Hello all,
thanks for nothing!
Actually i resolved issue. But still i don't understand the problem and why solution i did worked out.
Here is the solution i hope that for somebody somehow it will be usefull:
1) open ... jdevbin\jdev\lib\ext\jrad\config\jrad.properties
2) and comment out both rows:
#JRAD.APPS_JDBC_LIB14={JRAD.APPS_LIBRT_DIR}/ojdbc14.jar;{JRAD.APPS_LIBRT_DIR}/nls_charset12.zip
#JRAD.APPS_JDBC_LIB13={JRAD.APPS_LIBRT_DIR}/classes12.jar;{JRAD.APPS_LIBRT_DIR}/nls_charset12.zip
3)closed jdeveloper and opened again
brgds. -
Non supported character set: oracle-character-set-171' in java XSU
I cannt update object type CHAR data in table cause Non
supported character set: oracle-character-set-171'
NLS lang UTF-8
database language WIN-1251I think it is a bug at JDBC-OCI Driver.
Now I am useing setPlsqlIndexTable to transfer
a var to PLSQL procedure, and want to
retrieve it from out parameter.
When I transfer English characters, it can
work correctly, but if I transfer Japnese or
Chinese characters, the disorderly characters
were returned. I have not resolved this problem
yet. Who can tell me how to resolve it. -
Hi all. I want to change my Oracle character set after installation and after creating database. How can I do it?
Thanks...http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14225/ch2charset.htm#sthref144
If you have access to Metalink see Note:66320.1 -
Java. ARRAY: oracle-character-set-171
Hello!
I need send array of String to Oracle stored procedure.
I make Oracle ARRAY type ('CREATE OR REPLACE TYPE A_VALUES AS VARRAY(20) OF CHAR(500)').
Simple my java-code:
1: ArrayDescriptor descrVal = new ArrayDescriptor("A_VALUES", con);
2: ARRAY A_VALUES = new ARRAY(descrVal, con, values);
When to run 2: line to arrise exception:
java.sql.SQLException: Non supported character set: oracle-character-set-171.
Why?user8478825 wrote:
Guys please reactA reaction - don't post new questions on old threads. -
Oracle.sql.ARRAY error "Non supported character set: oracle-character-set-"
Hi Folks,
I am getting error :
java.sql.SQLException: Non supported character set: oracle-character-set-178
at oracle.gss.util.NLSError.throwSQLException(NLSError.java:46)
in the following code :
Object[] arrayToPassToDB=new Object[7];
ArrayDescriptor arraydesc = ArrayDescriptor.createDescriptor(arrayDesc,con);
ARRAY array = null;
array = new ARRAY(arraydesc, con, arrayToPassToDB);
i am using jdk1.6 and oracle 10g.
I have copied the orai18n.jar and ojdbc6.jar in WEB-INF\lib directory of my project and also in the Tomcat\lib directory.
can you please help me?
Thanks in advance.java.sql.SQLException: Non supported character set:oracle-character-set-178
-
Hi,
I am working on resultset.updateRow() and found some problem.
I've tried the same jsp page on 2 WebLogic server
one is on a Solaris Platfoem and another is on a NT platform
On NT Platform it seems to be OK and update the database successfully.
On Solaris, on error message on WebLogic log but error found in the JDBC log
java.sql.SQLException: Non supported character set: oracle-character-set-860
P.S. both jsp page connection to the same database server Oracle 8
The testing JSP page:
<%@ page language="java" import="java.sql.*, oracle.jdbc.driver.*,
java.util.*, javax.sql.*" %>
<html>
<head>
<title>Weblogic Oracle Testing - Store Procedure</title>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
</head>
Oracle Connection Testing
<br>
<body bgcolor="#FFFFFF">
<%
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
String sql;
Driver myDriver =
(Driver)Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
try {
conn=DriverManager.getConnection("jdbc:oracle:thin:sa/z0y1z2y3@oradev01:1521
:DEV01a");
DatabaseMetaData DBMetaData = conn.getMetaData();
boolean support1 =
DBMetaData.supportsResultSetType(ResultSet.TYPE_SCROLL_SENSITIVE);
boolean support2 =
DBMetaData.supportsResultSetType(ResultSet.CONCUR_UPDATABLE);
%>
<p><%=support1%></p>
<p><%=support2%></p>
<%
//create a statement
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
//execute a query
rs = stmt.executeQuery("SELECT tbl_web_trx_hdr.* FROM tbl_web_trx_hdr");
int concurrency = rs.getConcurrency();
int type = rs.getType();
%>
<p>concurrency: <%=concurrency%></p>
<p>type: <%=type%></p>
<%
rs.moveToInsertRow();
rs.updateString("org_idx", "CCC");
rs.updateString("trx_num", "ABC2");
rs.updateDate("trx_dte", java.sql.Date.valueOf("2001-06-01"));
rs.updateString("description", "123");
rs.insertRow();
rs.updateRow();
} catch (SQLException e)
{ System.out.println("SQLMessage: " + e.getMessage());
finally
{ rs.close();
stmt.close();
conn.close(); }
%>
</body>
</html>
Please help
regards,
Fannieyupp finally i got the solution. . .
I was using connection from tomcat connection pooling.
Hence, even though i was setting the classes12.jar and nls_charset12.jar in the classpath and compiling, -In runtime tomcat was using its own classes in the common/lib folder. . .(which might not support oracle-character-set-178.)
So just added this jars into the common/lib of tomcat instead of web-inf/lib of my project
and things began working. . .
Thanks for the hint jshell. . .
Maybe you are looking for
-
Is it possible to change my apple ID from one email address to another?
I'd like to link my icloud account to another email address because I think that will allow icloud to push calendar changes to a calendar at that account.
-
Mac crash; recovery will not start
Yesterday my Mac suddenly crashed into a screen with blue (and white) lines. It wouldn't respond to anything, so I powered it down and tried to boot again. However, it will not boot. It will show the Apple logo, request my password and after a while
-
Unity Connection 10.5.1: I upgraded the Unity Connection Server from V 9.1. After that, cannot logn to ELM an error message " The server encountered an internal error that prevented it from fulfilling this request." appears. The error further display
-
Indesign CS5 won't Save or Save as..
I have recently installed Mac OSX 10.6.3 (snow_leopard) onto my iMac and now for some reason Indesign CS5 will not save or save as. It allows me to selecteither of them in the menu but nothing happens at all. If i try to close the document after mak
-
I have an iPhone 5s running ios 7.1. I am unable to send emails to any of my own email addresses from my iphone.