Forum Stats

  • 3,874,386 Users
  • 2,266,760 Discussions
  • 7,911,834 Comments

Discussions

Not able to import hindi font data properly while importing oracle dump.

User_GMJGC
User_GMJGC Member Posts: 3 Green Ribbon

I'm stuck on one problem and it is that while importing oracle dump, I'm not able to restore hindi font data properly even when character set is same for source and destination. So is there any solution where i can restore Oracle dump with hindi font data in a proper way? I'm using oracle 11g enterprise edition.

I am using the following command to import dump file in oracle :

$impdp system/*** schemas=BANK directory=BANK dumpfile=FULLDB_01052021.DMP logfile=BANK.log

So the rows count get match after the import. But the data with in the Hindi font comes with some junk values which is आदमीन exp but it should be 'आदमीन exp' for the junk values.  See the attachament 


Please let me know what I can do??

Thank you in advance.

Answers

  • cormaco
    cormaco Member Posts: 2,041 Silver Crown

    What you see is not "junk" but an textual representation of the data in that column:

    "आ" stands for the Unicode Codepoint U+0906 (0906 is hex for decimal 2310) which is this letter:

    “आ” U+0906 Devanagari Letter Aa Unicode Character (compart.com)

    So your data in the database are likely correct, you have a display issue in your client tool.

    You can also check the data in your column using the DUMP function:

    DUMP (oracle.com)

    If your NLS_CHARACTERSET is AL32UTF8 the first 3 bytes in your example should be 0xE0 0xA4 0x86 for the letter आ

    User_GMJGC
  • User_GMJGC
    User_GMJGC Member Posts: 3 Green Ribbon

    Thank you @cormaco for response, I understood the problem but what's the solution for it? Because dump function is just showing data type, length and ascii value of the data.

  • cormaco
    cormaco Member Posts: 2,041 Silver Crown

    This is how your example text looks in my system:

    create table acct_ftr_req_dtl(ftr_req_reason) as select cast('आदमीन exp' as varchar2(10 char)) from dual;
    select dump(ftr_req_reason,1016) as dmp from acct_ftr_req_dtl;
    
    DMP                                                                                                 
    ----------------------------------------------------------------------------------------------------
    Typ=1 Len=19 CharacterSet=AL32UTF8: e0,a4,86,e0,a4,a6,e0,a4,ae,e0,a5,80,e0,a4,a8,20,65,78,70
    

    Does it look the same for you? As I said this could be an issue how DBVisualizer handles UTF-8.

    You could try a different client tool such as Oracle SQL Developer, it works for me, I used the "DialogInput" font here to display Hindi:


    User_GMJGC
  • User_GMJGC
    User_GMJGC Member Posts: 3 Green Ribbon

    Thank you @cormaco for the response. I have same DialogInput font in ORACLE SQL Developer, but still issue is not get resolve. If I create new table then there is no issue to store and display hindi font data. But when I import dump file that time data is not in a proper format.

  • cormaco
    cormaco Member Posts: 2,041 Silver Crown

    What does the output of the DUMP function look like in your case and how does SQL Developer display the data? Use the parameter 1016 as in my example.