How to process Chinese when Oracle charset is US7ASCII

I'm using Oracle8.1.7 with charset in server is AMERICAN_AMERICA.US7ASCII. I can process Chinese with sqlplus, as well as the environment variable NLS_LANG in client is set as AMERICAN_AMERICA.US7ASCII. By with my java application,also with JBuilder's database pilot, I get the wrong character. I have tried thin driver and oci driver. The major difference is that with oci driver, the result
altered when the NLS_LANG is changed. But I can't get normal Chinese words until now. Could anyone tell me how can I handle this? BTW, the charset in DB server can't be changed because some other reason. Thanks in advance.

Thank you for your replying. Does that mean as the
database character set is US7ASCII, no Chinese
character will be saved into db correctlly at all? Depends on what you mean. Except for EBCDIC most (if not all) character sets (the computer term) use ascii as the base. There are certainly multi-byte chinese character sets that do that. So certainly parts of those will be correctly saved.
And it might also depend on exactly what "US7ASCII" means. In particular if it means that only 7 bits of each byte are saved then you have to use a mapping strategy. If it doesn't really mean that, and 8 bits are used, then multibyte character sets would be saved correctly because a multibyte chinese character set doesn't really do anything except add more 8 bit bytes.
But you still have to get it from java into the database. Java will map it into the character set regardless. One way around this might be to extract string values as bytes using a multibyte character set name (see the String.getBytes(String) method.) Then save that using Statement.setObject() into a string field.
At first, I also think Chinese character will lost it's
high bit when saved into ASCII DB. But another fact
puzzled me. Why sqlplus can save and retrive Chinese
correctlly? Could you please explain to me how does
sqlplus do that. Does it also execute some
transformation before saving into db.I couldn't help you there. It is possible that you just haven't tested enough - you haven't tested the entire character set. Or like I said, it is using an 8 bit ASCII character set and a chinese multibyte character set.
If you search this forum you will find some discussions about using foreign language character sets which might help. I don't recall any with this specific problem though.

Similar Messages

  • How to Process event when select ALV mark ?

    Hi.
    The Screen have ALV data.
    How to Process event when select ALV mark ?
    Regards.
    LY.

    EVENT
    CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          i_list_type     = 0
        IMPORTING
          et_events       = it_events[]
        EXCEPTIONS
          list_type_wrong = 1
          OTHERS          = 2.
    IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      READ TABLE it_events WITH KEY name = slis_ev_top_of_page
                                    INTO it_events.
      IF sy-subrc = 0.
        MOVE t_formname_top_of_page TO it_events-form.
        APPEND it_events.
      ENDIF.
    ALV
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          it_fieldcat        = it_fieldcat
          it_events          = it_events[]
          i_callback_program = sy-repid
          is_layout          = gs_layout
          i_save             = g_save
          is_variant         = gx_variant
        TABLES
          t_outtab           = i_data[].

  • How to install Chinese in Oracle Application Express 4.0?

    hi,all
    I want to know how to install Chinese in apex 4.0,though I know it's in the folder of "apex/builder/zh-cn",when I use a command like "@ load_zh-cn.sql",and it doesn't work.
    and the path is >>>>>>>>>C:\oraclexe\apex\apex\builder
    so what can i type in the terminal.
    regards
    hlee

    You might want to go through the documentation here
    To execute the SQL script you could either use the SQL script's full path
    @C:\oraclexe\apex\apex\builder\load_zh-cn.sqlor
    open Command prompt , move to that directory first and then run sqlplus
    cd "C:\oraclexe\apex\apex\builder"
    sqlplus sys/password
    @load_zh-cn.sql

  • How solve  ORA-04030: out of process memory when trying to allocate

    i am facing problems in oracle 10g and after establishing 250 sessions
    an error ocure
    how solve ORA-04030: out of process memory when trying to allocate
    how i can solve it.

    The Oracle version and if Oracle and the OS are 32 or 64 bit versions affect whether or not the /3GB or /PAE flags come into play.
    Also if pga_aggregate_target is not in use then the error generally means the userload is too large for available memory which could be because the previously mentioned switches are needed, because the user load is just to large for available resources, or that memory is being wasted by an excessive number of "dead" sessions. Again depending on the versions of the OS, Oracle, and the application space leaks could be an issue.
    Bouncing will reclaim space lost to space leaks and clean up dead sessions but it is best to know why the problem exists before bouncing cause once you reboot you lose most of the information that will tell you what the cause of the problem is unless you make it a point to capture debugging information first.
    HTH -- Mark D Powell --

  • How to convert Oracle charset database

    I have a Oracle database which set charset "WE8ISO8859P1". how can I convert to "SJIS" charset that dont need create new database

    You can't.
    You can successfully convert an Oracle database's charset without database recreation if and only if 1) the original charset is a strict subset of the final charset (the letters in the set) and 2) the codepoints (the numbers that encode the letters) in the original charset don't change in the final charset and 3) all of the data in the database actually is encoded in the original charset (or at least is correctly encoded in the final charset). This is because this type of conversion is accomplished by simply slapping a new charest lable on the database as a whole; none of the binary values in the data get looked at, much less touched. If you "convert" a database and all three are not true, then some or all of your string data becomes complete and utter garbage.
    For WE8ISO8859P1 to SJIS, both 1) and 2) are false.
    3) becomes an issue because of what Oracle calls an optimization and I call a stupidity; when a database recieves string data from a client that asserts it's using the same charset, nothing checks that the data passed is actually in that charset; thus is it's trivially easy to get 8-bit data in a 7-bit US7ASCII database; it will read and write correctly until the day you try to convert to a superset of US7ASCII, such as UTF8. Then WHAM! Data corruption.
    Oracle customers with support contracts can get a lot of documentation about character set conversions from the Metalink support site. Oracle also strongly recommends that customers file a support request for conversions (although someone who reads all the docs and understands character encoding and the NLS settings can muddle through on their own). Oracle also has lot of free documentation about globalization and character sets on the OTN site, which just requires a registration, but I'm not sure the nitty gritty details are there.
    For non-subset conversions, the way to do it is to export the data, create a new database and import the data. Conversion to the new encoding will occur on import.
    There is a utility, CSSCAN, that can be used to prepare for a conversion. It will scan the database for strings that will have difficulty converting.
    Besides the possible issue of data that is outside of the original charset, it will also check for data that will be truncated on conversion. By default, the size specification of a VARCHAR2 in Oracle is the number of bytes; when a character is converted, it may expand the number of bytes that it requires, for example when switching form a 7 or 8 bit encoding to a 16 bit encoding. If enough characters in a value are expanded, the data exceeds the size of the column and is truncated or dropped (I forget). Recent Oracle versions lets you change from having the DB count size in bytes to counting size in characters; I don't yet know if this plays nice with imports with character set conversion (I'll know in a few months).

  • ADF how to display a processing page when executing large queries

    ADF how to display a processing page when executing large queries
    The ADF application that I have written currently has the following structure:
    DataPage (search.jsp) that contains a form that the user enters their search criteria --> forward action (doSearch) --> DataAction (validate) that validates the inputted values --> forward action (success) --> DataAction (performSearch) that has a refresh method dragged on it, and an action that manually sets the itterator for the collection to -1 --> forward action (success) --> DataPage (results.jsp) that displays the results of the then (hopefully) populated collection.
    I am not using a database, I am using a java collection to hold the data and the refresh method executes a query against an Autonomy Server that retrieves results in XML format.
    The problem that I am experiencing is that sometimes a user may submit a query that is very large and this creates problems because the browser times out whilst waiting for results to be displayed, and as a result a JBO-29000 null pointer error is displayed.
    I have previously got round this using Java Servlets where by when a processing servlet is called, it automatically redirects the browser to a processing page with an animation on it so that the user knows something is being processed. The processing page then recalls the servlet every 3seconds to see if the processing has been completed and if it has the forward to the appropriate results page.
    Unfortunately I can not stop users entering large queries as the system requires users to be able to search in excess of 5 million documents on a regular basis.
    I'd appreciate any help/suggestions that you may have regarding this matter as soon as possible so I can make the necessary amendments to the application prior to its pilot in a few weeks time.

    Hi Steve,
    After a few attempts - yes I have a hit a few snags.
    I'll send you a copy of the example application that I am working on but this is what I have done so far.
    I've taken a standard application that populates a simple java collection (not database driven) with the following structure:
    DataPage --> DataAction (refresh Collection) -->DataPage
    I have then added this code to the (refreshCollectionAction) DataAction
    protected void invokeCustomMethod(DataActionContext ctx)
    super.invokeCustomMethod(ctx);
    HttpSession session = ctx.getHttpServletRequest().getSession();
    Thread nominalSearch = (Thread)session.getAttribute("nominalSearch") ;
    if (nominalSearch == null)
    synchronized(this)
    //create new instance of the thread
    nominalSearch = new ns(ctx);
    } //end of sychronized wrapper
    session.setAttribute("nominalSearch", nominalSearch);
    session.setAttribute("action", "nominalSearch");
    nominalSearch.start();
    System.err.println("started thread calling loading page");
    ctx.setActionForward("loading.jsp");
    else
    if (nominalSearch.isAlive())
    System.err.println("trying to call loading page");
    ctx.setActionForward("loading.jsp");
    else
    System.err.println("trying to call results page");
    ctx.setActionForward("success");
    Created another class called ns.java:
    package view;
    import oracle.adf.controller.struts.actions.DataActionContext;
    import oracle.adf.model.binding.DCIteratorBinding;
    import oracle.adf.model.generic.DCRowSetIteratorImpl;
    public class ns extends Thread
    private DataActionContext ctx;
    public ns(DataActionContext ctx)
    this.ctx = ctx;
    public void run()
    System.err.println("START");
    DCIteratorBinding b = ctx.getBindingContainer().findIteratorBinding("currentNominalCollectionIterator");
    ((DCRowSetIteratorImpl)b.getRowSetIterator()).rebuildIteratorUpto(-1);
    //b.executeQuery();
    System.err.println("END");
    and added a loading.jsp page that calls a new dataAction called processing every second. The processing dataAction has the following code within it:
    package view;
    import javax.servlet.http.HttpSession;
    import oracle.adf.controller.struts.actions.DataForwardAction;
    import oracle.adf.controller.struts.actions.DataActionContext;
    public class ProcessingAction extends DataForwardAction
    protected void invokeCustomMethod(DataActionContext actionContext)
    // TODO: Override this oracle.adf.controller.struts.actions.DataAction method
    super.invokeCustomMethod(actionContext);
    HttpSession session = actionContext.getHttpServletRequest().getSession();
    String action = (String)session.getAttribute("action");
    if (action.equalsIgnoreCase("nominalSearch"))
    actionContext.setActionForward("refreshCollection.do");
    I'd appreciate any help or guidance that you may have on this as I really need to implement a generic loading page that can be called by a number of actions within my application as soon as possible.
    Thanks in advance for your help
    David.

  • How to localize HumanTask names and process names of oracle BPM process ?

    Anybody known how to localize HumanTask names and process names of oracle BPM process ?

    Oracle Apex is an API, if that helps you understand / visualize. You do not start Apex process nor stop it.
    When an Apex session starts it starts calling the API.
    You can however start / stop the listener. It may be OHS, ApexListener and the J2EE container running it, OC4J or any other "server" that you are using.
    The built-in EPG is something like an API again, you cannot start / stop it but you can disable/enable it with DBMS_XDB.SETHTTPPORT API.
    Regards,

  • How to resolve this Error ORA-04030: out of process memory when trying to a

    Hi
    I am connecting as a sysdba and trying to execute a query on the V$Logmnr_contents but getting the following Error
    ORA-04030: out of process memory when trying to allocate 408 bytes (T-LCR
    structs,krvuinl_InitNewLcr)
    Can anyone guide me how to resolve this issue.
    Thanks

    Hi,
    As root user, edit the /etc/sysconfigtab file, and try to set the udp_recvspace parameter to 262144 and reboot the machine :
    inet:
    udp_recvspace = 262144
    Metalink note 297030.1 Ora-04030 During Execution Of LogMiner Query
    Nicolas.

  • How can i display image in RTF template when Oracle Apps running in Windows

    Can any body help how can i display image in RTF template when oracle apps running in Windows Server.
    Thanks
    Ravi

    Hi Ravi,
    You can add images into your rtf template using MS Word Insert Picture feature.
    Did you try this method?
    Thanks
    Ravi
    [email protected]

  • How to process other task when reading the data from a file?

    Hello,
    I met a problem. I created a GUI to control the audio data processing. When the "Start" button is pressed, a block of data is read from the audio file and processed, then loop.But other buttons or method cannot be operated in that procession until all data is processed.
    How to let the other methods work under that circumstance? Should I use multiple threads?
    The relative code:
    SourceDataLine line;
    boolean stop = false;
    // When press "Start" button, the following method is invoked:
    public void play(){
    line.start();
    int bytesRead = 0;
    byte[] dataBuf = new byte[7500];
    while (bytesRead != -1& !stop)
    try
    bytesRead = audioInputStream.read(dataBuf, 0, dataBuf.length);
    catch (IOException e)
    e.printStackTrace();
    if (bytesRead >= 0)
    int bytesWritten = line.write(dataBuf, 0, bytesRead);
    line.drain();
    // When press "stop" button, this method is invoked.
    public void stop(){
    stop = true;
    line.stop();
    // When press "***" button, the following button is invoked:
    public void ***(){
    Many thanks.Looking forward to getting your answer.

    You have to use a seperate thread :
    Wheb you press the start button, you have to make sure a seperate thread is started :
    Thread runner = new Thread(){
    public void run(){
    //Here comes your code which reads the file
    runner.start();
    KR,
    Jan

  • How to find out when data was deleted from table in oracle and Who deleted that

    HI Experts,
    Help me for below query:
    how to find out when data was deleted from table in oracle and Who deleted that ?
    I did that to fidn out some data from dba_tab_modifications, but I m not sure that what timestamp shows, wether it shows for update,insert or delete time ?
    SQL> select TABLE_OWNER,TABLE_NAME,INSERTS,UPDATES,DELETES,TIMESTAMP,DROP_SEGMENTS,TRUNCATED from dba_tab_modifications where TABLE_NAME='F9001';
    TABLE_OWNER                    TABLE_NAME                        INSERTS    UPDATES    DELETES     TIMESTAMP         DROP_SEGMENTS TRU
    PRODCTL                        F9001                                                     1683         46       2171            11-12-13 18:23:39             0                   NO
    Audit is enable in my enviroment?
    customer is facing the issue and data missing in the table and I told him that yes there is a delete at 11-12-13 18:23:39 in table after seeing the DELETS column and timestamp in dba_tab_modifications, but not sure I am right or not
    SQL> show parameter audit
    NAME                                 TYPE        VALUE
    audit_file_dest                      string      /oracle/admin/pbowe/adump
    audit_sys_operations                 boolean     TRUE
    audit_syslog_level                   string
    audit_trail                          string      DB, EXTENDED
    please help
    Thanks
    Sam

    LOGMiner --> Using LogMiner to Analyze Redo Log Files
    AUDIT --> Configuring and Administering Auditing

  • How do I know when my unlock has been processed?

    Hi all,
    Sorry for what's probably a dumb question, but I can't find an answer anywhere.
    I have an AT&T iPhone 4S, and I recently called them to request an unlock.  Since it was on a business account while under contract, they had to submit a request directly to Apple instead of just using the web form.  However, they told me that they never received anything from Apple during the process that would indicate that I'll be notified once the request has been approved.  So from my understanding, completing the process on my end involves tethering to iTunes and restoring the phone - but how will I know when it's actually time for me to do that? 
    I should add: I am no longer with AT&T, or in touch with anyone else who is still on the account that I had been part of.  So if anyone else on that old account gets notified, I won't know.  And since I'm not with AT&T myself, I feel doubtful that they'd let me know.
    Thanks for your help!

    Apple does Not Unlock phones... This is done by the Carrier.
    About Unlocking...
    http://support.apple.com/kb/HT5014
    Also See this  AT&T Unlock Eligibility

  • How to stop a process chain when its running?

    Dear Experts,
    How to stop a process chain when its running? is it that a chain can be stoppend when we open an info package of that chain ?
    Thank you,
    Raj

    Hi,
    Goto the main menu process chain --> choose the remove from the Schudule...
    Regards
    sathis
    I hope it helps to u... please assign the points

  • How can I let my servlet to process Chinese Character as an input?

    How can I let my servlet to process Chinese Character as an input to my simple database which is an Excel file. I have tried before and all my input values become question marks.
    Please give me some advise, thx!

    input chinese?����������
    that may result from the tomcat or other web server

  • How to save Chinese&Japanise Character through JDBC or Hibernate in ORACLE

    Dear all,
    How to save chinese and japanise character in oracle 9i database through JDBC or Hibernate.
    Please let us know if you have any source code.
    Thanks in advance.
    Thanks,
    Sundararaman.V.S.

    http://forums.oracle.com/forums/ann.jspa?annID=599
    C.

Maybe you are looking for

  • After Effects CC 2014,0 H264 Media export

    Windows 8.1 (absolutely nothing to do with the problem) Quicktime version 7,7,5 (absolutely nothing to do with the problem) After Effects CC 2014.0 Unable to export media with h264 codec of the same quality as in After Effects CS6, Media Encoder CC 2

  • Why wont attach to email work?

    why wont attach to email work?

  • Does Adobe have a Reader version that works on OS X 10.6.8?

    I have a new MacBook Pro 10.6.8 I downloaded the latest upgrade for Reader (10.1) and it won't allow me to open any pdf files without accepting the "User License Agreement." When I click "Agree" I get an error message a mile long and cannot go any fu

  • C7250 offline

    I'm running windows vista, i have hp all-in-one c7250 photosmart printer. the problem i been having for couple of years now is if i don't print for at least a couple of days. my printer will show offline on my computer. the only thing that works is u

  • Unable to use AirPlay from multiple iOS and MacBook pro

    HI, I seem to be having issues using AirPlay From multiple iOS devices. I have the following devices, iphone 6 plus, iPad air (both Gen 1 and 2) an iPad 2 and a MacBook Pro running Yosemit. I also have 2 Apple TVs (both gen 1 and 2). Recently I have