Using translate function to correct character set problem....
I have a table(TBL_STOCK) on Oracle XE.
Rows come from sql server 2005 with a trigger on sql server table via the linked server.
But there is a character set problem with some character like İ,Ş,Ğ.
They change to Ý,Þ,Ð. in Oracle.
How can i correct these ? Do you suggest the TRANSLATE function ?
What do u think, if i create an After Insert trigger on Oracle table(TBL_STOCK) and convert these character using the Translate function when they inserted from sql server.
Anyone have any other ideas that can be more efficient. Any thoughts appreciated.
Thanks in advance.
Adam
PS:The NLS_CHARACTERSET of Oracle is AL32UTF8.
It is sql server 2005 and Collation is SQL_Latin1_General_CP1_CI_AS
Similar Messages
-
Backup failure due to Character set problem
Hi,
I am manually running a COLD backup script in Windows NT environment and all the logs has been captured below:
Recovery Manager: Release 8.1.6.0.0 - Production
RMAN-06005: connected to target database: db1 (DBID=754030292)
RMAN-06009: using target database controlfile instead of recovery catalog
RMAN> shutdown immediate;
2> startup mount;
3> RUN {
4> ALLOCATE CHANNEL disk1 TYPE disk;
5> BACKUP DATABASE TAG 'db1_db_full' FORMAT 'e:\backup\db1\db1_backup';
6> copy current controlfile to 'e:\backup\db1\Control_db1.ctl';
7> }
8>
RMAN-06405: database closed
RMAN-06404: database dismounted
RMAN-06402: Oracle instance shut down
RMAN-06193: connected to target database (not started)
RMAN-06196: Oracle instance started
RMAN-06199: database mounted
Total System Global Area 934143244 bytes
Fixed Size 70924 bytes
Variable Size 260554752 bytes
Database Buffers 673439744 bytes
Redo Buffers 77824 bytes
RMAN-03022: compiling command: allocate
RMAN-03023: executing command: allocate
RMAN-08030: allocated channel: disk1
RMAN-08500: channel disk1: sid=13 devtype=DISK
RMAN-03022: compiling command: backup
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure during compilation of command
RMAN-03013: command type: backup
RMAN-06003: ORACLE error from target database: ORA-06550: line 1, column 166:
PLS-00553: character set name is not recognized
ORA-06550: line 0, column 0:
PL/SQL: Compilation unit analysis terminated
RMAN-06031: could not translate database keyword
Recovery Manager complete.
As the above log shown, I cannot do any backup command in the RUN bracket and it complains that the character set is not recognized.
This set of error happens when I have create six other Oracle databases in my NT box. Before that, I can manually run the backup with no problem and a backupset has been generated.
If you have come across this problem and have solutions of it. That will be great.
Thanks !!
nullkk001 wrote:
Hi ,
The export Backup failing due to character set problem
. . exporting table ravidlx
EXP-00008: ORACLE error 6552 encountered
ORA-06552: PL/SQL: Compilation unit analysis terminated
ORA-06553: PLS-553: character set name is not recognized
P
Please suggest how to set character set
I don't know what you have.
I don't know what you do.
I don't know what you see.
It is really, Really, REALLY difficult to fix a problem that can not be seen.
use COPY & PASTE so we can see what you do & how Oracle responds.
do as below so we can know complete Oracle version & OS name.
Post via COPY & PASTE complete results of
SELECT * from v$version; -
DB Creation(character set Problem)
HI,
I am in the process of creating new database from the full export dump file which i got from client. In the export logfile i can see,
Export done in WE8MSWIN1252 character set and AL16UTF16 NCHAR character set
I am creating the database manually at my site and planning to import that full export dumpfile from the client.
Do i need to create the DB with national character set WE8MSWIN1252 or can i also use character set as AL32UTF8
I want to se the correct character set so that my import doesn't fails because of charactor set problem.
Please help me.
Oracle Version At client site:9.2.0.1
OS :Windows
Oracle Version at my site:9.2.0.1
OS:LINUX
Thank You..I can't answer your question because of several things.
The first is that all versions of 9i are currently in desupport and it has been years since I've seen one.
But if I was forced to work with 9i I certainly wouldn't do anything at all until I had patched to 9.2.0.8.
My recommendation would be, unless someone else can help you, to try it and see what happens.
Nothing ventured nothing gained. -
Oracle 8i us7ascii character set problem - help required urgent.
Hi frnds,
I have a oracle 8i database server installed on sun solaris os. The database character set is us7ascii. In one of the tables TIFF images are stored in a long column. I m trying to fetch these images using oracle 9i client and visual basic(oracle ODBC drivers). But i m unable to do so. I can not fetch special characters.
Is it because of the character set problem? but when i run my code on the server itself, i m able to fetch the images. I tried to fetch the images using oracle 8 i client on windows XP machine but could not do so. Are there any special settings that i have to do on the client side?Indeed, it's an ODBC issue. Read this statement from Oracle:
From ODBC 8.1.7.2.0 drivers onwards it's NOT possible any more to
"disable" Characterset conversion by specifying for the NLS_LANG
the same characterset as the database characterset. There is now
ALWAYS a check to see if a codepoint is valid for that characterset.
Typically you will encounter problems if you upgrade an environment
that has NO NLS_LANG set on the client (or US7ASCII) and the database
was also US7ASCII. This incorrect setup allowed you to store characters
like èçàé in an US7ASCII database, with the new 8i drivers this is not possible
any more.
Basic problem is the 'wrong' characterset US7ASCII in the database. As long as no characterset conversion happens (that's the case on the unix server), special characters are no problem.
Werner -
Oracle character set problem - help reqed urgent !!
Hello frnds,
I have a oracle 8i database server installed on sun solaris os. The database character set is us7ascii. In one of the tables TIFF images are stored in a long column. I m trying to fetch these images using oracle 9i client and visual basic(oracle ODBC drivers). But i m unable to do so. I can not fetch special characters.
Is it because of the character set problem? but when i run my code on the server itself, i m able to fetch the images. I tried to fetch the images using oracle 8 i client on windows XP machine but could not do so. Are there any special settings that i have to do on the client side?i run my code on the server itself, i m able to fetch
the images. I tried to fetch the images using oracle
8 i client on windows XP machine but could not do so.You able to fetch the image , So it is not because of the character set.
First thing you need to consider is that use certified combination of OS , client and database server only. Check Certify - Oracle's Certification Matrices
Virag -
EXPORT Backup failing due to character set problem
Hi ,
The export Backup failing due to character set problem
. . exporting table ravidlx
EXP-00008: ORACLE error 6552 encountered
ORA-06552: PL/SQL: Compilation unit analysis terminated
ORA-06553: PLS-553: character set name is not recognized
P
Please suggest how to set character set
Regards,
kk
Edited by: kk001 on Aug 29, 2011 7:22 PMkk001 wrote:
Hi ,
The export Backup failing due to character set problem
. . exporting table ravidlx
EXP-00008: ORACLE error 6552 encountered
ORA-06552: PL/SQL: Compilation unit analysis terminated
ORA-06553: PLS-553: character set name is not recognized
P
Please suggest how to set character set
I don't know what you have.
I don't know what you do.
I don't know what you see.
It is really, Really, REALLY difficult to fix a problem that can not be seen.
use COPY & PASTE so we can see what you do & how Oracle responds.
do as below so we can know complete Oracle version & OS name.
Post via COPY & PASTE complete results of
SELECT * from v$version; -
Hi
in XSQL i am one getting one row like this
<REASON_FOR_REJECTION>1.Overhead line is not existing in front of the premises,2.The distance from the pole to the serice is more than 30 meters.,3.Another service is existing in the same premises with arrears.</REASON_FOR_REJECTION>
In the above String for every comma i want to put <br>
the output should come like this:
1.Overhead line is not existing in front of the premises
2.The distance from the pole to the serice is more than 30 meters.
3.Another service is existing in the same premises with arrears
i have used translate function like this <xsl:value-of select="translate($REASON_FOR_REJECTION,',',<br>)'"/>
but i couldnt get proper result;how can i do this ??? PLZZ HELPHi Jayant,
please have a look at the following link: http://help.sap.com/saphelp_nw04s/helpdata/en/ae/48e7428d877276e10000000a1550b0/frameset.htm
Regards,
Christophe -
Agent control character set problem
Hi,
here's my problem :
i've got the grid that's running on a RHES4 with an agent. On another RHES4, i've got 10g databases that run and another agent.
The repository database is configured like this :
nsl_language = AMERICAN
nls_territory = AMERICA
character set = AL32UTF8
all the uploads from the agent on the RHES4 where the grid is installed are ok.
On the other server, as soon as there's an UTF8 character in a xml file (like " é " ou " ' "), the upload fails and the agent stops.
in the logs, it s clear it comes from this. I've deleted all the occurences of UTF8 characters in the xml file and restarted the upload and it's ok...
I've tested different configurations but without success.
Any clue ?
AlivetuThanks for the reply,
NLS LANG is set on the 2 machines with FRENCHFRANCE.WE8ISO8859P15
I've added the line '<?xml version="1.0" encoding="ISO-8859-1"?>' at the beginning of the xml file that doesn't work and made a 'emctl upload'....it has passed and the agent has stopped arrived to another UTF8 xml file...
So, it really is a character set problem but where to set it ???
Alivetu -
Character Set problem when using Microsoft Microsoft ODBC for Oracle
Hi, all
I am using:
OS: Windows 7 x64 (client and server)
DB: Oracle 11g
ODAC: v. 11.2.0.3.20 32-bit
Connection string: "Driver={Microsoft ODBC for Oracle};Server=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.221)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=geopoisk)));User Id=uid;Password=pwd;"
DB NLS_CHARACTERSET: CL8MSWIN1251
DB NLS_LANGUAGE: AMERICAN
DB NLS_TERRITORY: AMERICA
Client NLS_LANG: UKRAINIAN_UKRAINE.CL8MSWIN1251
When I am trying to access the server through ADO the character set of the values becomes corrupted or wrong. The value should be "Месторождение", but shows "?????????????" instead. When I am trying to connect through Visual Studio 2005 and Oracle client the results of the queries are shown in the right way.Thanks for the answer. Can you please show me, how would the connection string would look like if I`ll replace my Microsoft ODBC with Oracle one? Thanks alot.
-
Using translate function for one to many character translation
Hi friends!
Can anybody tell me whether it is possible to use built in translate function for converting some text from a one alphabet to another one, if these alphabets are of different length. Something like
SELECT TRANSLATE('текст',
'АБВГДЕЕЖЗИКЛМНОПРСТУФХЦЧШЩЭЮЯ',
'ABCGDEF"*GH*"HIJKLMNOPQRSTYVWXYZ') FROM dual;
Or there is another function for this, or it is impossible?
ThanksHi,
Maybe you could use REPLACE just once, and then TRANSLATE the rest?
Something like:
SELECT TRANSLATE(REPLACE('ABcDE', 'c', 'xz'),
'ABCDE',
'abcde') from dual;
TRANSLATE(REPLACE('ABCDE','C','XZ'),'ABCDE','ABCDE')
abxzde
1 row selected.Regards
Peter -
Dear All,
We are currently working on Oracle 8i to 9i migration and unicode implementation of an application SampleDB. We encountered an issue (described below) while the data migration.
Issue:
We have a database in oracle8i with
NLS_LANGUAGE AMERICAN
NLS_CHARACTERSET WE8ISO8859P1
NLS_NCHAR_CHARACTERSET WE8ISO8859P1
The character set WE8ISO8859P1 does not support GREEK language. The user inserts/modifies records in this database from the front-end. The front end installed in the client machine has the following setting:
Control Panel->Regional settings ->Advanced ->Language for non-unicode programs = Greek
Oracle client installed in English
Greek characters have been inserted/ updated into this database and retrieved and displayed correctly by the GUI.
Note: Greek data has been inserted into WE8ISO8859P1 database which does not support Greek characters.
Hence the actual data that is stored in the database are not Greek. Only while displaying, they are getting converted into Greek characters due to the settings in the client machine.
Requirement: Migrate the database to Oracle 9i - Unicode.
While migration, we need to eliminate any data discrepancy and make sure the data in the Unicode database is in Greek.
Can any one suggest us a method to do the migration to avoid the above mentioned problem?
Further, can any one tell us a way to verify what characters get stored in the database and help us identify if they are real Greek charactersThe character set WE8ISO8859P1 does not support GREEK language.If you want to support Greek characters (or 'math' symbols), look at the EL8... char sets.
Control Panel->Regional settings ->Advanced
->Language for non-unicode programs = Greek
Oracle client installed in EnglishThis is dependent on the app and Windows. What is the NLS_LANG value in this Oracle home? NLS_LANG should be adjusted to fit the application.
Note: Greek data has been inserted into WE8ISO8859P1
database which does not support Greek characters.
Hence the actual data that is stored in the database
are not Greek. Only while displaying, they are
getting converted into Greek characters due to the
settings in the client machine.Maybe character data does not get converted, but still shown as greek.
Further, can any one tell us a way to verify what
characters get stored in the database and help us
identify if they are real Greek charactersIn the case of character data, what you really store depends on the db and the character values. You can use dump or some other PL function to look at the values.
There's a Database Globalization Support Guide for 9.2 that might be useful. -
Magnetic Swipe (Keyboard wedge) character set problems
Hi,
I'm writing an app that handles scanner and mag stripe input into a JTextField, the scanner works fine, the wedge has some character set/encoding problems
Windows XP, both USB, and both work fine in notepad etc. the wedge doesn't even present the same data on each scan (simple numeric codes with ; start and ? end chars)
eg. ;123456? reads fine in notepad but in my app, and a few other unrelated java apps i used for test purposes, i get strings like the following:-
W“|‡4*?
;“|3456?
;“|‡4¥—
SSÓ234*É
all the same card, which scans into this window correctly as ;123456?
it almost gets it right sometimes which makes me think java is chopping the bits into the wrong length to encode as characters, or something like that??
i tried subclassing the JTextField (snippet appended) and overriding the insertString function in the doc but it didn't work, i think because this is after the problem's occured.
Has anyone managed to get a wedge working in java? or have any ideas?
Thanks in advance,
Mark
protected Document createDefaultModel()
return new ASCIIDocument();
static class ASCIIDocument extends PlainDocument
public void insertString(int offs, String str, AttributeSet a) throws BadLocationException
if (str == null)
return;
try{
String str2=new String(str.getBytes(),"UTF-8"); // and various others, ascii, iso8859, etc
super.insertString(offs,str, a);
}catch (Exception e){}
...To find out what is actually being sent, stop using a Swing application to do that. (You're right, you want to avoid the conversion of bytes to chars which is happening.)
Write a command line application which reads bytes from System.in and displays the values of those bytes. Don't convert them to chars in any way. Then run it and use the wedge to scan your data. You might have to press the Enter key to get System.in's buffer sent to your code. -
DIR7 Character Set Problem / Foreign Language
Hi there,
I am working on an app built using Director 7 that until now
has used the standard English (latin-1) character set.
However, I am required to deliver a new version including
some elements displayed in a second language, in this case Welsh,
which uses characters outside of the normal set. I believe those
required are included in Latin-1 Extended, otherwise in Unicode as
a whole, obviously.
I am having specific problems with two characters that appear
to be missing from Latin-1, which are: ŵ and ŷ
(w-circumflex, and y-circumflex [i think!]).
In a standard text box I create using Director, I am unable
either to paste either character in, or enter it using its
ALT+combination, let alone save to the associated database.
I have read that Dir 11 is the first version with full
Unicode support - which surprises me - however I would assume that
someone would likely have hit this, or a similar issue before the
release of this version and was wondering if there is a possible
solution without upgrade.
My possible thinking is either a declaration that allows
change of a Charset, as I might do in XHTML for example, or
deployment of an Xtra that allows me to use a different character
set.
If anyone could shed some light on the matter, it would be
very helpful! Thanks in advance!
Rich.Yes, this was always a problem for years. Back when I was
**** this, we had
some projects that needed text displayed in various
languages. Each
language presented its own challenges. Things like Greek
weren't too bad,
because the Symbol font works for most Greek text. (Only
problem was the
's' version of Sigma, which had to switch back to Times New
Roman.) Various
eastern European languages (Polish, Czech, Hungarian, etc.)
posed a problem
with some of the accents that were not available in standard
font sets. We
were forced to live without some of the more exotic accents,
but were told
that it would still be readable without them, if not exactly
correct. This
would probably be the closest to your situation, from what
little I know
about Welsh. It could be worse, though. Hebrew and Arabic
were challenging
as they are written right-to-left, and thus had to have code
written to
input them backwards. Russian was also tough, as the Cyrillic
alphabet has
more characters than the others, but I was able to find a
font to fake it.
(It replaced some of the lesser-used standard characters in
order to fill in
all the letters, which unfortunately meant that in the rare
cases where
those characters *were* needed, we had to improvise.) The
hardest by far
were any east Asian languages. In that case, I gave up on
trying to display
any of the text in text form, and just converted it all to
bitmaps. Without
Unicode, trying to display Mandarin or Japanese or Korean
correctly as text
is pretty much impossible. -
Character Set Problem with XSQL
Hi!
I am using xsql:insert-request of the xsql-servlet. On NT everything works fine.But on Solaris I get with the same configuration (Oracle 8.1.7 XSQL-Servlet 1.0.4.0) and the same xsl and xsql Files I get the following Error:
Exception 'java.sql.SQLException:Non supported character set: oracle-character-set-46' encountered during processing ROW element 0All prior XML row changes were rolled back. in the XML document.
I want to load Data into an object-relational Table.
Has anyone of you had the same Problem? Has anybody a solution for this Problem. Today I tried different things wihtout any success.
Thanks a lot,
Haraldhi manidhar,
I am also facing the same problem.In my case the characters are getting garbled when it is passed to a javaScript function.
Did u find a solution.
If yes please post it.
thanks in advance -
Using Translate() function of XSLT ...
Hi guys
I have an xml document that i am converting into an html document using XSLT. I need to replace the XML new lines(
) with html new lines (<br>) while the xslt transform takes place on my xml document.
For this I have found the translate function of XSLT but I need to use it on a specific tag and not all the tags in the xml document.
<ExampleTag>
1 first line
2 second line
3 third line
</ExampleTag>
translate(string, replaced_text, replacement_text)
so I need to get my tags value in the variable string which is:
1 first line
2 second line
3 third line
and replaced_text: '
' and replacement_text: '<br>'
but the problem is XSLT syntax is so bad that i just cant devote enough time to learn it. Any suggestions for the syntax guys?? an example would be extremely useful.
cheers :)Hey
after a bit of struggle came up with this:
<xsl:template match="ExampleTag">
<xsl:variable name="string" select="."> </xsl:variable>
translate(string, "
", "</br>" )
<xsl:value-of select="$string"/>
</xsl:template>
but its not working :(
any suggestions??
Maybe you are looking for
-
Is it possible to create a word doc or excel in iPad Air
Is it possible to create a word doc or excel in iPad Air? Also is it possible to open or transfer documents from my computer to my iPad?
-
Single result set across multiple tables
Hi - what's the best way to perform a single query that can pull a single result set across multiple tables, ie., a master table containing subject details and child table containing multiple records with detail. I know how to do this for two columns
-
Problem Inserting CD into side slot
Trying to load Rosetta Stone CD in to iMac side slot. I've got shiny side of CD facing me, with label side facing away. Is this right? because either way I insert it, it spits out the CD. Any suggestions?
-
Non-western input and question marks
whenever i try to input some non-western characters into flash input box all i see are ???? instead of characters. Is it fixable?
-
When I Hotsync, I get this: HotSync operation started 11/21/00 15:43:01 OK Date Book OK Address Book OK To Do List OK Memo Pad Unable to initialize threads: len Can't create Java VM OK Oracle with 2 message(s) -- Backing up db Saved Preferences to fi