NLS_CHARACTERSET From WE8ISO8859P1 to Arabic Suuported NLS_CHARACTERSET

Hi Gurus..
we use Oracle 10g on HP-Unix
RDBMS_VERSION 10.2.0.1.0
We wanted the Database to Support Arabic Language as well,
Current NLS_PARAMETER
PARAMETER VALUE
NLS_LANGUAGE AMERICAN
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
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_NCHAR_CHARACTERSET AL16UTF16
NLS_RDBMS_VERSION 10.2.0.1.0
To what Character Set NLS_CHARACTERSET to be changed So as the Database to Support Arabic Langauge as well,
Which NLS_CHARACTERSET IS Best Suport for Arabic
We have to Change From WE8ISO8859P1
please Help
thanks All
Khaja

You will need to follow the steps in MOS Doc 225912.1 (Changing the Database Character Set ( NLS_CHARACTERSET )). This is not a trivial exercise. The easiest way to do the conversion is to export the database, drop the database, recreate it with the new characterset and perform an import. Other solutions will require the support of Oracle Consulting.
HTH
Srini

Similar Messages

  • Convert 10.2.0.4 RDBMS from WE8ISO8859P1 to UTF8 without install new langua

    We are in 11.5.10.2 Ebusiness suite with 10.2.0.4 RDBMS. thinking to take advantage a downtime to convert the darabase character set from WE8ISO8859P1 to UTF8 right now even we ONLY want to install and configure new language in year or two in the future. I have a lot of questions and hope someone can answer them
    1) Is that ok to convert the database character set witout doing anything in the apps side? Not even change any setting in apps?
    2) I know Oracle is recommned AL32UTF8 for E-business suite.. but for Rel 12 only. Am I have the right information?
    3) I found someone post in one of the Forum in here .. that he use CSSCAN to scan the database but realized it only change the metadata not the user data..... I though CSSCAN is only for scanning to report potential data.. should not change anything in database? I wonder he mean CSaLTER instead.... but only metadata huh??
    4) I also read some people use expdp/impdp to perform the character set conversion... but I also read that oracle recommend to use exp/import utility only. Is that right? What is the better method for character set conversion if both of them are valid path?
    thanks Fushan

    Hi
    Apart from Srini inputs, here is my inputs.
    *1) Is that ok to convert the database character set without doing anything in the apps side? Not even change any setting in apps?*
    No issues to convert without adding new language in EBS.
    *2) I know Oracle is recommend AL32UTF8 for E-business suite.. but for Rel 12 only. Am I have the right information?*
    Please note that AL32UTF8 is not certified for Oracle E-Business Suite 11i.
    Note.124721.1 Migrating an Applications Installation to a New Character Set:
    This is documented in Note:222663.1
    Note 179133.1 The correct NLS_LANG in a Windows Environment
    Note 264157.1 The correct NLS_LANG on Unix Environments
    *3) I found someone post in one of the Forum in here .. that he use CSSCAN to scan the database but realized it only change the metadata not the user data..... I though CSSCAN is only for scanning to report potential data.. should not change anything in database? I wonder he mean CSaLTER instead.... but only metadata huh??*
    Please follow below blog, you will get clear picture
    Changing the Database Character Set ( NLS_CHARACTERSET ) [ID 225912.1]
    Note 276914.1 The National Character Set in Oracle 9i and 10g
    Note 458122.1 Installing and Configuring Csscan in 8i and 9i (Database Character Set Scanner)
    Note 745809.1 Installing and configuring Csscan in 10g and 11g (Database Character Set Scanner)
    Note 444701.1 Csscan output explained
    http://www.oracle-base.com/articles/10g/CharacterSetMigration.php
    http://repettas.wordpress.com/2008/05/16/national-character-set-in-oracle-9i-and-10g/
    http://avdeo.com/2010/11/01/converting-migerating-database-character-set/
    *4) I also read some people use expdp/impdp to perform the character set conversion... but I also read that oracle recommend to use exp/import utility only. Is that right? What is the better method for character set conversion if both of them are valid path?*
    yes.
    Note 227332.1 NLS considerations in Import/Export - Frequently Asked Questions

  • Characterset change from WE8ISO8859P1 to AL32UTF8

    Hi,
    I have restore the rman on new server oracle 11.2.0.3 (Previous backup was of oracle 10.2.0.4).
    Then I have successfully upgrade the database to oracle 11g but issue which I am facing right now is that the old database have the character set WE8ISO8859P1 which is now upgraded to oracle 11.2.0.3 database server.
    My required character set is AL32UTF32.
    Now is there any way that while restoring the rman backup of oracle 10.2.0.4 on new server I set the character set to AL32UTF32.
    Thank you for your cooperation.
    Kind Regards,
    Adnan Hamdussalam

    It means that either I have to change it before backup or after perform the full upgrade on new server oracle 11g and then convert the character set. Am I right?Yes, You are right.
    I think as you are changing from WE8ISO8859P1 to AL32UTF8, so you do not need any tool.
    Must read note,
    *Changing the NLS_CHARACTERSET to AL32UTF8 / UTF8 (Unicode) [ID 260192.1]*

  • FaceTime feature is not available on brand new iphone 5 from Dubai, United Arab Emirates (UAE)

    We got a brand new iphone 5 from Dubai, United Arab Emirates (UAE). We are living in Italy and we are trying to setup the FaceTime on brand new iphone 5 but to no avail. Is there a way to enable the FaceTime features?
    Can Apple or the carrier are capable of doing it?

    FaceTime
    http://support.apple.com/kb/ts3367
    "If FaceTime is not available in Settings: Note that FaceTime may not be available on devices purchased or used in certain countries, including Saudi Arabia and the United Arab Emirates."
    Unfortunately that device does not have FaceTime.

  • Can I buy a MacBook Pro from the United Arab Emirates Store Online and ship it to me in Saudi Arabia by Armax ?

    Can I buy a MacBook Pro from the United Arab Emirates Store Online and ship it to me in Saudi Arabia by Armax ?

    Fahd Alghazi,
    have you tried contacting them directly to see if they would do that?

  • Migrating from WE8ISO8859P1 to AR8MSWIN1256

    Hi, i am trying to migrate my data from WE8ISO8859P1 to AR8MSWIN1256.
    The problem is that the client apparently has its data stored in WE8ISO8859P1 but
    to read data from the database was using some function his developers coded which converts the characters read
    into a non standard charset format because they wanted the data to be shown in farsi which would have been resolved
    a long time ago had they used AR8MSIN1256.
    So they are retrieving characters stored in WEISO8859P1,transform them using this function which is a PLSQL function by the way, and show the right data which is in a non standard charset.
    knowing that AR8MSWIN1256 is not a superset of WE8ISO8859P1, i still tried to import/export the data but of course it did not work.
    can anybody give me some ideas to work with?
    thank you

    i know there should not be this function in the middle, but anyway i am trying this on a test DB.
    here's the code for that function
    CREATE OR REPLACE FUNCTION convertp ( panizstr varchar2)
    RETURN VARCHAR2
    IS
    type t_paniz is table of char index by binary_integer;
    type t_asci is table of char index by binary_integer;
    tpaniz varchar2(45);
    tasci t_asci;
    len number;
    i number;
    res number;
    cod number;
    j number;
    freturn varchar2(55);
    BEGIN
    i:=1;
    j:=1;
    tpaniz:=panizstr;
    len:=length(panizstr);
    while (i<=55) loop
    tasci(i):='';
    i:=i+1;
    end loop;
    res:=0;
    i:=1;
    while (i <=len) loop
    cod:=0;
    --alef
    if (ascii(substr(panizstr,i,1)))=145
    then
    tasci(j):='Â';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --alef
    if (ascii(substr(panizstr,i,1)))=146 or
    (ascii(substr(panizstr,i,1)))=147 then
    tasci(j):='Ç';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --en
    if (ascii(substr(panizstr,i,1)))=142 or
    (ascii(substr(panizstr,i,1)))=143 then
    tasci(j):=' ';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --hamze
    if (ascii(substr(panizstr,i,1)))=148
    then
    tasci(j):='Æ';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --hamze
    if (ascii(substr(panizstr,i,1)))=149
    then
    tasci(j):='Á';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --be
    if (ascii(substr(panizstr,i,1)))=150
    then
    tasci(j):='È';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --en
    if (ascii(substr(panizstr,i,1)))=142
    then
    tasci(j):=' ';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --pe
    if (ascii(substr(panizstr,i,1)))=151
    then
    tasci(j):='';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --te
    if (ascii(substr(panizstr,i,1)))=152
    then
    tasci(j):='Ê';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --the
    if (ascii(substr(panizstr,i,1)))=153
    then
    tasci(j):='Ë';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --jim
    if (ascii(substr(panizstr,i,1)))=154 then
    tasci(j):='Ì';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --jim
    if (ascii(substr(panizstr,i,1)))=155
    then
    tasci(j):='Ì';
    res:=1;
    cod := 1;
    j:=j+1;
    tasci(j):=' ';
    goto endofloop;
    end if;
    --che
    if (ascii(substr(panizstr,i,1)))=156
    then
    tasci(j):='';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --che
    if (ascii(substr(panizstr,i,1)))=157 then
    tasci(j):='';
    res:=1;
    cod := 1;
    j:=j+1;
    tasci(j):=' ';
    goto endofloop;
    end if;
    --he
    if (ascii(substr(panizstr,i,1)))=158
    then
    tasci(j):='Í';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --he
    if (ascii(substr(panizstr,i,1)))=159 then
    tasci(j):='Í';
    res:=1;
    cod := 1;
    j:=j+1;
    tasci(j):=' ';
    goto endofloop;
    end if;
    --khe
    if (ascii(substr(panizstr,i,1)))=160
    then
    tasci(j):='Î';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --khe
    if (ascii(substr(panizstr,i,1)))=161 then
    tasci(j):='Î';
    res:=1;
    cod := 1;
    j:=j+1;
    tasci(j):=' ';
    goto endofloop;
    end if;
    --dal
    if (ascii(substr(panizstr,i,1)))=162 then
    tasci(j):='Ï';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --zal
    if (ascii(substr(panizstr,i,1)))=163 then
    tasci(j):='Ð';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --Re
    if (ascii(substr(panizstr,i,1)))=164 then
    tasci(j):='Ñ';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --ze
    if (ascii(substr(panizstr,i,1)))=165 then
    tasci(j):='Ò';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --je
    if (ascii(substr(panizstr,i,1)))=166 then
    tasci(j):='Ž';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --sin
    if (ascii(substr(panizstr,i,1)))=167 or
    (ascii(substr(panizstr,i,1)))=168 then
    tasci(j):='Ó';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --shin
    if (ascii(substr(panizstr,i,1)))=169 or
    (ascii(substr(panizstr,i,1)))=170 then
    tasci(j):='Ô';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --sad
    if (ascii(substr(panizstr,i,1)))=171 or
    (ascii(substr(panizstr,i,1)))=172 then
    tasci(j):='Õ';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --zad
    if (ascii(substr(panizstr,i,1)))=173 or
    (ascii(substr(panizstr,i,1)))=174 then
    tasci(j):='Ö';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --ta
    if (ascii(substr(panizstr,i,1)))=175 then
    tasci(j):='Ø';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --za
    if (ascii(substr(panizstr,i,1)))=224 then
    tasci(j):='Ù';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --ein
    if (ascii(substr(panizstr,i,1))) =225 or
    (ascii(substr(panizstr,i,1)))=226 then
    tasci(j):='Ú';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --ein
    if (ascii(substr(panizstr,i,1))) =227 or
    (ascii(substr(panizstr,i,1)))=228 then
    tasci(j):='Ú';
    res:=1;
    cod := 1;
    j:=j+1;
    tasci(j):=' ';
    goto endofloop;
    end if;
    --ghein
    if (ascii(substr(panizstr,i,1))) >=229 and
    (ascii(substr(panizstr,i,1)))<=230 then
    tasci(j):='Û';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --ghein
    if (ascii(substr(panizstr,i,1))) >=231 and
    (ascii(substr(panizstr,i,1)))<=232 then
    tasci(j):='Û';
    res:=1;
    cod := 1;
    j:=j+1;
    tasci(j):=' ';
    goto endofloop;
    end if;
    --fe
    if (ascii(substr(panizstr,i,1)))=233
    then
    tasci(j):='Ý';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --ghaf
    if (ascii(substr(panizstr,i,1)))=234
    then
    tasci(j):='Þ';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --ghaf
    if (ascii(substr(panizstr,i,1)))=235 then
    tasci(j):='Þ';
    res:=1;
    cod := 1;
    j:=j+1;
    tasci(j):=' ';
    goto endofloop;
    end if;
    --kaf
    if (ascii(substr(panizstr,i,1)))=236
    then
    tasci(j):='˜';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --ghaf
    if (ascii(substr(panizstr,i,1)))=237
    then
    tasci(j):='';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --lam
    if (ascii(substr(panizstr,i,1)))=238
    then
    tasci(j):='á';
    res:=1;
    cod := 1;
    j:=j+1;
    tasci(j):='Ç';
    goto endofloop;
    end if;
    --lam
    if (ascii(substr(panizstr,i,1)))=239
    then
    tasci(j):='á';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --lam
    if (ascii(substr(panizstr,i,1)))=240 then
    tasci(j):='á';
    res:=1;
    cod := 1;
    j:=j+1;
    tasci(j):=' ';
    goto endofloop;
    end if;
    --mim
    if (ascii(substr(panizstr,i,1)))=241
    then
    tasci(j):='ã';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --mim
    if (ascii(substr(panizstr,i,1)))=242 then
    tasci(j):='ã';
    res:=1;
    cod := 1;
    j:=j+1;
    tasci(j):=' ';
    goto endofloop;
    end if;
    --noon
    if (ascii(substr(panizstr,i,1)))=243
    then
    tasci(j):='ä';
    cod := 1;
    res:=1;
    goto endofloop;
    end if;
    --noon
    if (ascii(substr(panizstr,i,1)))=244 then
    tasci(j):='ä';
    cod := 1;
    res:=1;
    j:=j+1;
    tasci(j):=' ';
    goto endofloop;
    end if;
    --vav
    if (ascii(substr(panizstr,i,1)))=245 or
    (ascii(substr(panizstr,i,1)))=246 then
    tasci(j):='æ';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --he
    if (ascii(substr(panizstr,i,1))) >=247 and
    (ascii(substr(panizstr,i,1)))<=248 then
    tasci(j):='å';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --he
    if (ascii(substr(panizstr,i,1))) >=249 and
    (ascii(substr(panizstr,i,1)))<=250 then
    tasci(j):='å';
    res:=1;
    cod := 1;
    j:=j+1;
    tasci(j):=' ';
    goto endofloop;
    end if;
    --ye
    if (ascii(substr(panizstr,i,1))) =251 then
    tasci(j):='í';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --ye
    if (ascii(substr(panizstr,i,1)))=252 or
    (ascii(substr(panizstr,i,1)))=254 then
    tasci(j):='í';
    res:=1;
    cod := 1;
    j:=j+1;
    tasci(j):=' ';
    goto endofloop;
    end if;
    --1
    if (ascii(substr(panizstr,i,1)))=49 or (ascii(substr(panizstr,i,1)))=129 then
    tasci(j):='1';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --2
    if (ascii(substr(panizstr,i,1)))=50 or (ascii(substr(panizstr,i,1)))=130 then
    tasci(j):='2';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --3
    if (ascii(substr(panizstr,i,1)))=51 or (ascii(substr(panizstr,i,1)))=131 then
    tasci(j):='3';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --4
    if (ascii(substr(panizstr,i,1)))=52 or (ascii(substr(panizstr,i,1)))=132 then
    tasci(j):='4';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --5
    if (ascii(substr(panizstr,i,1)))=53 or (ascii(substr(panizstr,i,1)))=133 then
    tasci(j):='5';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --6
    if (ascii(substr(panizstr,i,1)))=54 or (ascii(substr(panizstr,i,1)))=134 then
    tasci(j):='6';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --7
    if (ascii(substr(panizstr,i,1)))=55 or (ascii(substr(panizstr,i,1)))=135 then
    tasci(j):='7';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --8
    if (ascii(substr(panizstr,i,1)))=56 or (ascii(substr(panizstr,i,1)))=136 then
    tasci(j):='8';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --9
    if (ascii(substr(panizstr,i,1)))=57 or (ascii(substr(panizstr,i,1)))=137 then
    tasci(j):='9';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    --0
    if (ascii(substr(panizstr,i,1)))=48 or (ascii(substr(panizstr,i,1)))=128 then
    tasci(j):='0';
    res:=1;
    cod := 1;
    goto endofloop;
    end if;
    <<endofloop>>
    if (res=0) then
    tasci(j):= substr(panizstr,i,1);
    end if;
    if (cod=0) then
    tasci(j):= substr(panizstr,i,1);
    end if;
    i:=i+1;
    j:=j+1;
    end loop;
    --freturn:=tasci(1)||tasci(2)||to_char(ascii(substr(panizstr,1,1)),'999');
    freturn:=tasci(1)||tasci(2)||tasci(3)||tasci(4)||tasci(5)||tasci(6)||tasci(7)||tasci(8)||
    tasci(9)||tasci(10)||tasci(11)||tasci(12)||tasci(13)||tasci(14)||tasci(15)||tasci(16)||tasci(17)||tasci(18)||tasci(19)||tasci(20)||tasci(21)||tasci(22)||tasci(23)||tasci(24)||tasci(25)||
    tasci(26)||tasci(27)||tasci(28)||tasci(29)||tasci(30)||tasci(31)
    ||tasci(32)||tasci(33)||tasci(34)||tasci(35)
    ||tasci(36)||tasci(37)||tasci(38)||tasci(39)
    ||tasci(40)||tasci(41)||tasci(42)||tasci(43)||tasci(44)||tasci(45)
    ||tasci(46)||tasci(47)||tasci(48)||tasci(49)||tasci(50)||tasci(51)
    ||tasci(52)||tasci(53)||tasci(54)||tasci(55);
    return freturn;
    END convertp;
    this lacks a proper documentation i know but this is how i got it, sorry about this.Anyway thank you so much for your time and patience

  • Character mapping from WE8ISO8859P1 to US7ASCII

    We are planning to implement a multilingual web application with an Oracle database with WE8ISO8859P1 or some 8859-X compatible character set to support Western European languages. We will collect name in local languages (coded in WE8ISO8859P1), i.e. German, French, etc. As a requirement, the name information also have to be forward to other application/system that only support English (coded in US7ASCII).
    We are looking for a WE8ISO8859P1 to US7ASCII mapping. It is straightly a code to code mapping (128 - 255 to 0 - 127). Has anyone done this before.
    Thanks,
    Chi

    The mapping from WE8ISO8859P1 to US7ASCII is not straight forward, Oracle will try to map each non-ASCII letter to it's base letter. For example the following characters:- @ , A , B and D will all map to the ASCII letter A when going from WE8ISO8859P1 to US7ASCII. You can view all the mapping information via the Oracle Locale Builder under the Tab 'Replacement Characters' for the character set US7ASCII.
    Nat

  • Characterset conversion from WE8ISO8859P1 to UTF8

    Hi All,
    While running CSSCAN utility from WE8ISO8859P1 to UTF8 after running 8-9H, the process is going to sleep state.
    We need to complete this task in next 1week of time.Can any one share why this is happening.
    Thanks,
    Sekhar

    There is a Metalink note on [Bug 6460895 - CSSCAN may hang / run slowly|https://metalink.oracle.com/CSP/ui/flash.html#tab=Home(page=Home&id=fm2z4pjj()),(page=KBNavigator&id=fm2z4vd6(&viewingMode=1141&userQuery=csscan%20sleep&searchControl=1146))] that looks to be vaguely related. This indicates that the bug was fixed in 10.2.0.4, but unfortunately the bug itself isn't published, so it is rather hard to know if this is your problem or not. It would probably be worth logging a support request to see if Oracle support can determine whether or not you're being affected by this bug.
    Meanwhile, can you apply the 10.2.0.4 patchset and see if that solves the problem?
    Justin

  • I changed the language from english to arabic on mini iPad by accident and I don't know how to change it back

    I changed the language from english to arabic on mini iPad by accident and I don't know how to change it back

    iOS: How to change the language when it's set to one you don't understand

  • Convert NLS_CHARACTERSET 9i RAC DB from WE8ISO8859P1 to UTF8

    Hi,
    Currently my database has
    NLS_CHARACTERSET=WE8ISO8859P1
    NLS_NCHAR_CHARACTERSET=AL16UTF16
    However, developers request to change NLS_CHARACTERSET to be UTF8 because new source of one of new data marts is UTF8. Currently there is issue with displaying only few records. For conversion, I need to recreate a new database which is what I'm trying to avoid.
    My quesitons are
    1. Since Unicode data stored in few columns in few tables in this new datamart only, can they take advantage of NCHAR and NVARCHAR instead?
    2. If converted to UTF8, what is the drawback of storing all data in database in Unicode?
    3. Is AL32UTF8 better (and superset) than UTF8?
    Thanks

    Generally, you won't be able to convert the existing database to UTF8 since UTF8 isn't a strict binary superset of the existing ISO 8859-1 character set. You would probably have to create a new database and export & import the data over. If there are special circumstances, you may have some other options, but it will involve quite a bit of administration.
    Working with NCHAR columns tends to be a bit more complex from an application development perspective (though this complexity differs depending on the front end used). Depending on the language of most of the data, there are probably space implications of UTF16 vs UTF8. UTF16 is a fixed width character set, so every character occupies two bytes of storage. UTF8 is a variable width character set, so English characters will tend to be 1 byte, European characters will tend to be 2 bytes, and Asian characters will tend to be 3 bytes.
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • Character set Problem (From WE8ISO8859P1 to EL8MSWIN1253)

    Hi there,
    I would like to describe a problem that I face with import, export and Greek characters.
    I have two databases with the following characteristics
    Source database:
    O/S version Windows
    Database version à 10GR2
    NLS_CHARACTERSET à WE8ISO8859P1
    NLS_NCHAR_CJARACTERSET à AL16UTF16
    NLS_LANGUAGE à GREEK
    NLS_TERRITORY à GREECE
    Target database:
    O/S version Windows
    Database version à 10GR2
    NLS_CHARACTERSET à EL8MSWIN1253
    NLS_NCHAR_CJARACTERSET à AL16UTF16
    NLS_LANGUAGE à GREEK
    NLS_TERRITORY à GREECE
    From the source database, using the export tool I am exporting a table (TABLE_A) which contains Greek records. At this point I want to mention that the from the source database I am able to read the Greek characters from TABLE_A by using sqlplus i.e (select * from table_a;)
    On the target database by using import I load the table TABLE_A into the database.
    When I select the newly imported TABLE_A on the target database I am not able to read the Greek characters.
    I have tested various scenarios by using different values for the NLS_LANG variable regarding export and import clients but I did not manage to read the Greek characters on the target database.
    If anyone faced the same or a similar problem please I am asking for assistance.
    Thank you in advance

    Please, review this thread:
    Re: Arabic Character set conversion-help needed
    The thread describes a similar issue for Arabic data. Therefore, when reading the thread, substitute 'WE8ISO8859P1' for 'AR8ISO8859P6', 'EL8MSWIN1253' for 'AR8MSWIN1256', and 'Greek' for 'Arabic'.
    -- Sergiusz

  • Re: How to change the NLS_NCHAR_CHARACTERSET from WE8ISO8859P1 to AL16UTF16 ?

    Hi,
    Now I have a new problem.
    I have a Oracle9i instance, with this configurations.
    PARAMETER VALUE
    NLS_LANGUAGE AMERICAN
    NLS_TERRITORY AMERICA
    NLS_CURRENCY $
    NLS_ISO_CURRENCY AMERICA
    NLS_NUMERIC_CHARACTERS .,
    NLS_CHARACTERSET WE8MSWIN1252
    NLS_CALENDAR GREGORIAN
    NLS_DATE_FORMAT DD-MON-RR
    NLS_DATE_LANGUAGE AMERICAN
    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
    NLS_NCHAR_CHARACTERSET AL16UTF16
    NLS_RDBMS_VERSION 9.2.0.1.0
    I have a xHarbour DOS Client program that reads, shows in the screen, and write "perfectly fine" a text with Brazilian accentuation stored in a CLOB field.
    Following you can see the sample of the text with Brazilian accentuation in my DOS application http://www.screencast.com/t/U5PXwCEo8
    In order to my xHarbour DOS Client program works fine with this Brazilian accented characters, I must to set:
    SET NLS_LANG=PORTUGUESE_BRAZIL.WE8MSWIN1252
    And all is OK from my xHarbour DOS Client program.
    My problem is because when I query this data manually using a SELECT from any client DOS/WINDOWS program like SQLPLUS, SQLDEVELOPER, TOAD, etc, I get bad characters instead the correct Brazilian accented characters.
    Following you can see the same text into the Toad http://www.screencast.com/t/A1tal2Rtg
    (you will see bad characters instead the correct Brazilian accented characters).
    Following you can see the result of querying this field using a SELECT from SQLPLUS.
    Certifico que por decis„o proferida no processo n§ @@@@@@@@@@@@@@, 
    foi reconhecida a n„o incidˆncia do ITBI na transa‡„o do(s) im¢vel(is) 
    abaixo caracterizado(s), com base no art.156, @ 2§, I, da Constitui‡„o 
    Federal de 1988 e no art.6§, II, da Lei Municipal n§ 1.364 de 19/12/1988. 
    (you will see bad characters instead the correct Brazilian accented characters).
    How to make "SQLPLUS", "TOAD" (and others Windows or DOS Clients programs) show me the Brazilian accented characters correctly?
    Thanks in advance,
    Luigggye

    OK, if you look at the word "decisäo" in your DOS program (shouldn't it be "decisão", by the way?), it is encoded by the following bytes: 64,65,63,69,73,84,6f.
    d = 0x64
    e = 0x65
    c = 0x63
    i = 0x69
    s = 0x73
    ä = 0x84
    o = 0x6fSo, the code for "ä" in your database is 0x84. If you look at the definition of the WE8MSWIN1252 character set, for example here: http://msdn.microsoft.com/en-us/goglobal/cc305145 , you will see that the expected code is 0xe4. On the other hand, if you look at the definition of WE8PC850 here: http://msdn.microsoft.com/en-us/goglobal/cc305160 , you will see that the code for "ä" is 0x84 -- the one you have in your database.
    This proves my initial diagnosis that you have incorrectly labeled data in your database. By setting the NLS_LANG to the same character set as the database, you created a so-called pass-through configuration. This configuration does not require any character set conversion, hence what you put into the database is what you can retrieve unchanged. As CHCP shows, your DOS program (the correct name is actually "console mode program") works in the Microsoft OEM Code Page 850, which corresponds to the Oracle character set WE8PC850. So this is the character set that your application sends to Oracle and this is what gets stored in the database. If you set the NLS_LANG to .WE8PC850 before inserting data, the database would know that the received data is in WE8PC850 and would convert it properly to the database character set WE8MSWIN1252. This data could then be properly converted as required for other clients such as Toad or SQL Developer. As the NLS_LANG was WE8MSWIN1252, Oracle wrongly assumed that the application data is already in WE8MSWIN1252 and did not do any conversion. You ended up with mislabeled data.
    To fix the issue, you should repair the database character set declaration to correspond to the actual database content, i.e. WE8PC850. You should then change the NLS_LANG for the DOS program (and only for the DOS program, not for Toad or other Windows GUI apps) to WE8PC850 as well. I am assuming here, and this is important!, that all non-ASCII (e.g. Portuguese) characters in your database come from this one DOS program.
    To repair the database character set declaration:
    1) Upgrade to 10g or 11g
    2) Run the csscan utility with parameters FROMCHAR=WE8PC850 TOCHAR=WE8PC850. The scan report from the utility (scan.txt) should report only changeless data.
    3) After running the scan, execute the ?/rdbms/admin/csalter.plb script in SQL*Plus.
    -- Sergiusz

  • Dynamic menu problem when chaning from english to arabic language

    Hi all,
          am working on Dynamic Menu its working fine in English when i convert this same menu in Arabic its working fine but the sub menu has some margin...if we set the margin then again for 2nd main menus submenu  is not coming
    in order...
    www.dreamcom.ae   (This is for english working good)
    www.dreamcom.ae/Ar/Index.aspx (This is for Arabic which is not working)
    <div class="wrap">
    <div class="content_wrap menucss">
    <%-- CssClass="menubar" --%>
    <asp:Menu ID="menuBar" StaticEnableDefaultPopOutImage="False" runat="server" Orientation="Horizontal"
    onmenuitemclick="menuBar_MenuItemClick" DynamicHorizontalOffset="2" Font-Size="18px"
    BackColor="#669903" ForeColor="White" StaticSubMenuIndent="100%" Font-Bold="True" Height="56px" vertical-align="top" top="50px"
    margin="0px" position="static" BorderStyle="None" DynamicSelectedStyle-BorderStyle="None" BorderColor="#7ab802" CssClass="menucss">
    <DynamicHoverStyle BorderStyle="Solid" BorderWidth="0px" BackColor="#7ab802" ForeColor="White" />
    <%--below single line is for sub menu --%>
    <DynamicMenuItemStyle BorderColor="Black" BorderStyle="Solid" BorderWidth="0px" Font-Bold="true" Font-Size="17px" HorizontalPadding="6px" VerticalPadding="6px" />
    <%--below single line is for sub menu colour,border --%>
    <DynamicMenuStyle BorderColor="#669903" BorderStyle="Solid" BorderWidth="1px" BackColor="#669903" CssClass="menucss"/>
    <DynamicSelectedStyle BorderColor="#3094FC" BorderStyle="Solid" BorderWidth="0px" ForeColor="#3094FC" BackColor="#5D7B9D" CssClass="menucss" />
    <%--below single line is for mouse over on main menu and mouse over on sub menu --%>
    <StaticHoverStyle BorderColor="#669903" BorderStyle="Solid" BorderWidth="0px" BackColor="#7ab802" ForeColor="#ffffff" CssClass="menucss" />
    <StaticMenuItemStyle ForeColor="White" BorderStyle="Solid" BorderWidth="0px" Font-Size="14px" HorizontalPadding="15px" VerticalPadding="20px" CssClass="menucss" />
    <%--below single line is for sub menu on mouse over --%>
    <StaticSelectedStyle BorderColor="#5CB8FF" BorderStyle="Solid" BorderWidth="1px" ForeColor="#fafafa" BackColor="#5CB8FF" />
    </asp:Menu>
    </div>
    </div>
    this code am using in both english and in arabic.....but in arabic am using style="direction:rtl;" hence it the direction of the content will change...
    and am fetching english and arabic datas are fetch from database..
    Kindly help me out...am trying from long time..
    Thanks.

    Hi,
    This is a ASP.NET question so I think you need to submit the question at:
    http://forums.asp.net/

  • Converting db from WE8ISO8859P1 to UTF-8

    I am running an Oracle 10g database with approx 60 tables. We are going global so we need to convert to unicode. Currently our database doesn't contain any special characters (all english ASCII data).
    I have read through the "Character Set Migration" book from Oracle (http://www.cs.umb.edu/cs634/ora9idocs/server.920/a96529/ch10.htm) but i'm still not clear on whether i will need to manually alter all my tables to expand the size of my fields.
    I'm hoping someone who has done this conversion can advise me. If my db doesn't currently store any special charcters then i shouldn't lose data in the conversion, correct? Do i still need to expand my field in case in the future special characters are entered into the db. For example a name field that is VARCHAR2(10). If Janpanese characters are entered then the field can only hold 5 characters???
    If i do need to expand all my fields is there any slick oracle utility to expand my field by 3 times?? or do i have to manually run alters on my tables??
    Also, can i run the conversion by issuing the ALTER DATABASE command or do i have to do the full export/import? Oracle states "if, and only if, the new character set is a strict superset of the current character set, it is possible to use the ALTER DATABASE CHARACTER SET statement to expedite the change in the database character set." Isn't UTF-8 a superset of WE8ISO8859P1??
    Any feedback or other gotchas would be greatly appreciated.

    A few suggestions:
    1. If your database is 10g and your client software is only 9i and 10g based, migrate to AL32UTF8, not to UTF8.
    2. Do not use ALTER DATABASE with 10g. Use csscan to scan your database to confirm that you really have only ASCII. Your scan should show only Changless data, no Convertible or Exceptional Data. Convertible data is allowed in Data Dictionary columns of type CLOB only.
    3. Then, you should be able to change the character set using the script
    ?/rdbms/admin/csalter.plb
    It will change the database character set to the last TOCHAR value
    from the csscan run. Do not specify the FROMCHAR parameter.
    DO NOT play with csalter.plb without a BACKUP!!!
    4. VARCHAR2(10) in [AL32]UTF8 will be able to hold only 3 Japanese characters.
    5. I am afraid, the trick with NLS_LENGTH_SEMANTICS and import will not work,
    because Export emits the BYTE keyword in CREATE TABLE.
    You would have to use the impdp sqlfile and run the statements from there.
    -- Sergiusz

  • Database Character Set Conversion from WE8ISO8859P1 to UTF8

    Hi All
    I want to migrate data from one database to another database But my original database character set is WE8ISO8859P1 but i want to migrate it to
    database which has character set UTF8
    because of character set it don't shows me Marathi data which is in original database .
    it shows me some symbol for Marathi words ..
    please help me out.
    Thanking You
    Gaurav Sontakke

    Dear GauravSontakke,
    Since your database version is unknown, i will show you an online documentation of character set migration for 10gR2.
    http://www.oracle.com/pls/db102/search?remark=quick_search&word=character+set+migration&tab_id=&format=ranked
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14225/ch11charsetmig.htm#sthref1442
    *http://download.oracle.com/docs/cd/B19306_01/server.102/b14225/ch11charsetmig.htm#NLSPG011*Please read those carefully.
    Hope it Helps,
    Ogan

Maybe you are looking for

  • How much data does an IP camera use?

    Hello all, So I have a fancy old muscle car that I have put a ton of work and would like to hook up an ip camera. I want it so that when the car is parked, I can monitor and record what is going on with it. I was planning on getting an ip camera with

  • Why AME takes twice the time for the same conversion?

    Hi all! Yesterday I made a video conversion with Adobe Media Encoder CS6 and it took about half the time it is taking now...same file, same conversion, same machine, same tasks, double time...WHY??? Thank you in advance.

  • I recently downloaded the 7.1 update, When I send a Text Message, It'll send then disappear. How do I fix this?

    When I was texting someone, it had just randomly started doing this. It did not happen instantaniously after I updated it. However they do appear after I restart the iphone. But then go back to doing it again

  • Code error 50

    I'm getting a code error 50 on the install of the cloud app on the desktop, any help please.

  • Resizing luks partition "in front"

    Hello I have currently the following partitioning scheme: .-(~)----------------------------------------------------------------------------------------------------(root@tirion)- `--# fdisk -l /dev/sda Disk /dev/sda: 107.1 GiB, 115033153536 bytes, 224