Cannot Input and Display Chinese Characters by using ODBC Applications

Dear all,
I am trying to input the Simplified Chinese Characters in the Oracle Database Ver 9.2 running on a UNIX AIX server. The client application we are using is th MS Access 2003 running on a MS Windows XP English version SP 2 without multi-language pack. MS Office 2003 is also an English version.
Database setting is:
NLS_CHARACTERSET=US7ASCII
NLS_NCHAR_CHARACTERSET=AL16UTF16
The Oracle Client used is also ver 9.2 with the ODBC driver ver 9.2. I have tried the following NLS_LANG settings by chaging the registry without any NLS_LANG environment settings:
AMERICAN_AMERICA.ZHT16MSWIN950
AMERICAN_AMERICA.ZHS16GBK
AMERICAN_AMERICA.ZHT16HKSCS
AMERICAN_AMERICA.AL32UTF8
I have tied to load some Chinese Characters in by sqlload and by using the NLS_LANG AMERICAN_AMERICA.ZHT16MSWIN950, AMERICAN_AMERICA.ZHS16GBK and AMERICAN_AMERICA.ZHT16HKSCS, they can be display perfectly in SQLPLUS. But when using the same NLS_LANGs and display in the ACCESS, only ???? are displayed.
When I tried to insert Chinese in ACCESS, the character changed to ???? again. No matter what Chinese characters I inserted by MS ACCESS, the ???? code can be dump with the binary code "03, 0f".
Are there any methods or settings I need to change to make ACCESS an application for inserting and displaying Chinese characters from the Oracle database?
I have tried to set the Non-Unicode setting in the Windows Locale setting:
Chinese (Taiwan) (With AMERICAN_AMERICA.ZHT16MSWIN950),
Chinese (Hong Kong S.A.R) (with AMERICAN_AMERICA.ZHT16HKSCS) and
Chinese (PRC) (with AMERICAN_AMERICA.ZHS16GBK)
when inserting the Chinese Characters by Access. But they all failed with ???? inserted in the DB.
Please kindly advise what should be done.
Thanks.

Are you trying to store the character data in char/varchar2 columns?
If that's the case then you have a problem, since a US7ASCII character set can only handle, well, ascii data.
If you are trying to store the data in columns of nchar datatypes, then there might be a problem with literals because literals are converted to database character set first, before conversion to national (nchar) character set. Such data loss can also happen depending on how binds or oci calls are performed.
You could use the dump() function to verify what's actually stored in a database column, without a db - client conversion happening that may distort the facts.
Example:
SQL> select col, dump(col, 1016) from table where some_condition;

Similar Messages

  • Swing , input and display Chinese

    I have Java Swing application(JDK 1.5), but I could not input Chinese characters. I have two questions:
    1. Where to download Chinese font?
    2. How to configure it?
    I am using JDK 1.5. working on this for three days, but no progress.
    Thanks for help.
    DAVE

    I don't know anything about kawa but I would be
    surprised if you couldn't set the file encoding it -
    taken that it is quite popular. If you can't do it
    you'll have to change your editor. At least Jext knows
    unicode: www.jext.orgyup i m quite surprised too. Kawa cannot support chinese character so i used another editor to input all the chinese characters i need and use kawa to compile..
    and it works.
    tks a lot..
    dollars awarded.

  • Object Manager cannot allow me to input and display chinese

    hi, all,
    i am using sgd 4.2 with oriental fonts installed.
    I cannot input chinese for person name in Object Manager. If I create an application with chinese name through other mechanism. It cannot display the chinese correctly.
    It displays square for the chinese character in Object Manager.
    Can anyone help?
    best,
    ying

    Are you trying to store the character data in char/varchar2 columns?
    If that's the case then you have a problem, since a US7ASCII character set can only handle, well, ascii data.
    If you are trying to store the data in columns of nchar datatypes, then there might be a problem with literals because literals are converted to database character set first, before conversion to national (nchar) character set. Such data loss can also happen depending on how binds or oci calls are performed.
    You could use the dump() function to verify what's actually stored in a database column, without a db - client conversion happening that may distort the facts.
    Example:
    SQL> select col, dump(col, 1016) from table where some_condition;

  • Problems in displaying chinese characters with utf-8 encoding

    Hi,
    I got problem in displaying chinese characters in my web application.
    I am creating a web application supporting both English and Chinese charaters. What I am trying to do is:
    1. storing some chinese characters via a web page (page1) into database.
    2. retrieve the chinese characters via another web page (page2) from the database.
    Once I put the Chinese characters on the webpage (page1 in step #1), it displayes well (the readable chinese characters) before I submit this page (after submit, the data will be stored into the database).
    But when I tried to display the chiese characters via page2 in step#2, I got un-readable characters displayed.
    The running configuration is: Sun Application Server (coming and with the JSC2) and MySQL server 5.0. And I setup the database server with utf8 as character-set.
    It seems like the chinese characters got messed up throught the round-trip (from page1<----via jdbc---->database<----via jdbc------>page2).
    From the database, I found the chinese characters are there. Any helps are appreciated.

    Hi,
    I am trying to insert new record.The record may contain chineese or English data.
    I did same what u specified.
    first I converted to the byte UTF8.again,I converted byte to string using 8859_1.
    the values are not storing chinese characters.
    pls suggest me.
    below is my code.
                                  ascCode = req.getParameter("asccode");
                                  countryCode = req.getParameter("countrycode");
                                  ascName      = req.getParameter("ascname");
                                  address1     = req.getParameter("ascaddress1");
                                  address2 = req.getParameter("ascaddress2");
                                  System.out.println("ASC NAME:"+ascName);
                                  System.out.println("ADDRESS1:"+address1);
                                  System.out.println("ADDRESS2:"+address2);
                                  ascC = ascCode.getBytes("UTF8");
                                  coun = countryCode.getBytes("UTF8");
                                  ascN           = ascName.getBytes("UTF8");
                                  add1 = address1.getBytes("UTF8");
                                  add2          = address2.getBytes("UTF8");
                                  System.out.println("ASC NAME:"+ascN);
                                  System.out.println("ADDRESS1:"+add1);
                                  System.out.println("ADDRESS2:"+add2);
                                  ascCode = new String(ascC,"8859_1");
                                  countryCode= new String(coun,"8859_1");
                                  ascName = new String(ascN,"8859_1");
                                  address1 = new String(add1,"8859_1");
                                  address2 = new String(add2,"8859_1");
                                  System.out.println("ASC NAME:"+ascName);
                                  System.out.println("ADDRESS1:"+address1);
                                  System.out.println("ADDRESS2:"+address2);
    thanks.

  • Traditional and Simplified Chinese characters couldn't be displayed!

    Hi all,
    Recently I installed an Oracle 9i Database Server (9.0.1).
    Problem regarding the globalization support issue was encountered after the installation of Oracle 9i Database Server. Parameters in NLS table had been checked that the language is initially set to AMERICAN, territory is set to AMERICA and the character set is UTF8.
    Since traditional and simplified chinese characters must be required for the HK server, it is believed that the above parameters should be altered to TRADITIONAL CHINESE / SIMPLIFIED CHINESE, HONG KONG and ZHT16MSWIN950 / ZHS16CGB231280 respectively.
    I tried to alter the NLS_DATABASE_PARAMETERS, but it’s not working; should the NLS_SESSION_PARAMETERS be changed instead? I also tried this one, changes is taken place but the chinese characters still couldn't be displayed, just bunches of &#20098;&#30908; (meaningless codes) instead.
    Another piece of information is that the Oracle server is installed on the basis of Windows Server 2003 Standard Edition, should the Language for non-Unicode programs (which is in the “Advanced” page of the Regional and Language Settings) be configured to Chinese (HKSAR)? Various combinations, in terms of English (US), Chinese (HKSAR), Chinese (PRC), Chinese (Taiwan), had been taken turns to test for the results. However, same results happened.
    Hence, how should we configure? Please advice us.
    P.S.# It is known that this question should be placed in the "Globalization Support" forum, I have done that; however, it is hoped that I could seek more advice in here.
    Thx in advance.
    Karen

    Karen,
    Setting up such an environment requires some sophistication and know how. I would advise reading though the Globalization Support Guide and som of the papers on the Globalization Home Page http://www.oracle.com/technology/tech/globalization/index.html
    before randomly attempting to change parameters. If your requirement is to store and retrieve both TRADITIONAL and SIMPLIFIED CHINESE then your database needs to be Unicode (UTF-8). Designing an application that allows you to easily access multilingual data requires careful design and planning. If you are simply trying to quickly display data you have in your database you might want to use iSQL*PLUS which is browser based and will allow you to display Unicode data. It might also be helpful to take a look at the following paper: http://www.oracle.com/technology/tech/globalization/pdf/globalization-best-practices.PDF

  • How to input & display Chinese characters?

    How could I use Chinese pinyin method  on the table ? 
    And show Chinese characters in documents to go?
    Any ways to resolve this problem?
    TX
    7290--------8830-------9800-------playbook and ... 9900?

    you are correct. Every single BlackBerry Playbook sold in the world lacks Chinese input.
    The search box on top-right of this page is your true friend, and the public Knowledge Base too:

  • I used to be able to display Chinese characters that

    I used to be able to display Chinese characters that were embedded in a flash video designed to run on firefox. This stopped once I upgraded to the latest version. Now only the romanised version displays. How do I fix this or revert back to the previous version?

    That's great but in the previous version it was not the case...what's changed? Is it possible to revert? If so, how?

  • Displaying chinese characters in browser

    Dear sirs,
    I am having the following issue in chinese internationalization.when i stored the JSP form parameters(typed in chinese) in database,it stored some kind of junk characters ....and when i displayed ,they showed like SMALL SMALL tables.... in my browser.
    Our project is java based web application.
    Java-1.5
    Mysql-5.0.24
    tomcat-5.5
    JSP-1.2
    servlet-2.0
    browser-mozilla firebox
    I set in my all JSP pages,
    ----->1.<%@ page contentType="text/html;charset="UTF-8" pageEncoding="UTF-8"%>
    ----->2.<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    in my JAVA files,i added,
    ----->String encode=ServletContext.getInitParameter("javaEncoding");
    ----->request.setCharacterEncoding(encode); (it gets encoding UTF-8 from web.xml file)
    In my MYSQL,i set...
    ----->mysql --default-character-set=utf8 -username -password -database
    so,i changed client,connection,results,system charactersets " utf8" and connection collation is "utf8".
    In my DATABASE connection String...i added,
    ------>useUnicode=true&characterEncoding=UTF-8
    In my TOMCAT web.xml file..i added these lines as i am using POST method for form.
    <context-param>
    <param-name>javaEncoding<param-name>
    <param-value>UTF-8<param-value>
    <context-param>
    still .i am unable to display chinese characters in my browser.
    but.when i am using getBytes() for all form parameters in JAVA file....i m able to store chinese in db and dispay in browser ....
    String param;
    ---->String param=newString(param.getBytes("ISO8859-1"),"UTF-8");
    Could anyone tell me another method for displaying chinese except this getBytes()..
    please help me out. i am trying to find out an alternative server-independent method for past two weeks.
    Advance thanks for reading and help.
    mullaimaran.

    Hi one_dane &Mr.Clap,
    Thank you for your help.
    At last i displayed chinese characters with out using getBytes() and web.xml configuration.
    My settings for displaying chinese....
    JSP :
    1<%@ page contentType="text/html;charset="UTF-8" pageEncoding="UTF-8"%>2.<HEAD>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    </HEAD>JAVA(Servlet):
    request.setCharacterEncoding("UTF-8");MYSQL:
    Mysql connection String...i added,
    ----> useUnicode=true&characterEncoding=UTF-8i m using linux terminal for mysql login.
    bash]$  mysql --default-character-set=utf8 -username -password -database nameSo, i changed these settiings in database
    mysql> show variables like '%char%';
    +--------------------------+----------------------------+
    | Variable_name | Value |
    +--------------------------+----------------------------+
    | character_set_client | utf8 |
    | character_set_connection | utf8 |
    | character_set_database | utf8 |
    | character_set_filesystem | binary |
    | character_set_results | utf8 |
    | character_set_server | utf8 |
    | character_set_system | utf8 |
    | character_sets_dir | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+and set collation....
    mysql> show variables like '%col%';
    +---------------------------+-------------------+
    | Variable_name | Value |
    +---------------------------+-------------------+
    | collation_connection | utf8_general_ci |
    | collation_database | utf8_general_ci |
    | collation_server | utf8_general_ci |Once again thank you....for help.Keep your assistance in this forum.
    mullaimaran.

  • Chinese Data Fields not displaying Chinese Characters

    Hi There,
    Wonder if someone can help. We are currently running reports in Crystal 8.5 but are in the process of upgrading our business systems to latest version and this includes converting all our Crystal 8.5 reports to Crystal Reports XI R2 SP4.
    During the process we are experiencing some difficulties in displaying Chinese characters, which have previously worked fine in version 8.5. The system we are running Crystal from has Oracle client 11 installed and the OS system locale is set to Chinese PRC. Our application is displaying Chinese characters properly and if we have any text fields on the report, these are also displaying properly when changing Font to Arial Unicode MS. The only thing that doesn't display properly is the field data which after checking has the correct Chinese data stored in the database. For some reason Crystal 11.5 doesn't seem to be transferring the data correctly which points to some sort of encoding problem.
    Is there something I am missing here or is there something else I need to install for this to work?
    Any hep would be appreciated.

    What is your Oracle database's language set? Is it set to UTF-8 or non UTF-8 (such as American_America.WE8ISO8859P1" )?
    There is a similar issue tracked under ID ADAPT00528561 (Crystal cannot display non-UTF-8 Chinese characters from an Oracle database ) and has been fixed and you should set the following registry key to make it effective:
    Set the following registry key "UseOSLocaleForConversion" to "Yes" under:
    HKEY_LOCAL_MACHINE\Software\Business Objects\Suite 11.5\Crystal Reports\Database\Oracle

  • Displaying Chinese characters in SQL*Plus

    DB version: 11.2
    OS Version : AIX 6.1
    DB characterset:AL32UTF8
    To display chinese characters in SQL*Plus, I did the following:
    $ export LANG=zh_CN.UTF-8
    $ export LC_ALL=zh_CN.GB2312
    $ export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
    $
    $ sqlplus / as sysdba
    SQL*Plus: Release 11.2.0.2.0 Production on ÐÇÆÚÈý 5ÔÂ 2 15:52:33 2012
    Copyright (c) 1982, 2010, Oracle.  All rights reserved.
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
    With the Partitioning option
    SQL> ALTER SESSION SET NLS_LANGUAGE='SIMPLIFIED CHINESE';
    Session altered.
    SQL> ALTER SESSION SET NLS_TERRITORY='CHINA';
    Session altered.
    SQL> select unistr('\8349') from dual;  ---- not 100% sure if this is the way to verify if chinese characters can be displayed.
    UN
    ²Ý                 ----------------------------------------> Getting a junk character instead of chinese If I was using putty, are the above steps enough to get chinese characters displayed ?
    Our ssh client is Tectia (not putty).
    According the below ML Note, the SSH client has to configured correctly to use globalization features.
    +The correct NLS_LANG setting in Unix Environments [ID 264157.1]+
    Googling "Tectia + Chinese" didn't return useful results

    I understand that you are talking about Windows SSH Client.
    For Putty, you should set:
    $ export LANG=zh_CN.UTF-8
    $ export LC_ALL=zh_CN.UTF-8
    $ export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
    and configure Putty in Window->Translation to use UTF-8.
    There is nothing about this subject on Tectia website and in their manuals, so my best guess is that the client requires Windows code page to work correctly. In such case you need to set your Windows system default locale (locale for non-Unicode programs) to Chinese and use the following settings on the server:
    $ export LANG=zh_CN.GBK
    $ export LC_ALL=zh_CN.GBK
    $ export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
    Verify with 'locale -a' that the setting zh_CN.GBK is supported on your system.
    -- Sergiusz

  • How to display Chinese characters in Oracle?

    I am using Oracle 8i with Language settings as AMERICA.
    I am displaying records which is contain Chinese characters.
    But it is not displayed properly in Oralce.
    How to change the settings to display Chinese characters?
    Thanks

    It could be possible to display Chinese characters using SQL Developer without any specific NLS_LANG setting because SQL Developer is using JDBC which doesn't use NLS_LANG setting according to When is NLS_LANG used ?.
    For example, I'm able to display the following Chinese character in SQL Developer 1.2.0 on Windows XP Pro with French Windows setting and NLS_LANG set in Windows registry to FRENCH_FRANCE.WE8ISO8859P1.
    select unistr('\8349') from dual;

    [pre]
    Message was edited by:
            Pierre  Forstmann                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Problem displaying chinese characters

    I have got the problem with displaying chinese characters in the webpage after fetching the data from database.
    I am using Oracle IAS webserver and oracle 8i as the database which is in UTF-8 characterset.I am getting the out put in the chinese if I use this code.
    String value1 = new String(value.getBytes("ISO8859_1"), "GB2312");
    I am getting the out put using this code in this format
    ��������
    &#27604;&#20998;&#21345;&#29255; basically this code does that.(String value1 = new String(value.getBytes("ISO8859_1"), "GB2312");)
    But some body told me that I have to do some settings in the server.I am using oracel IAS.Can you suggest me any thing?.
    Here is my full code
    <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
    <%@ page import="java.nio.charset.Charset,java.util.Locale,org.apache.struts.action.*,java.io.*,javax.naming.Context,java.sql.Connection,javax.sql.DataSource,javax.naming.InitialContext,java.sql.*" %>
    <HTML><HEAD><TITLE>Welcome to METRO</TITLE>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta http-equiv="Content-Encoding" content="UTF-8"/>
    </HEAD>
    <BODY >
    <style type="text/css">
    .tb {      
    border: 1px solid #ddd;
    border-collapse: collapse;
    font-family:arial ,sans-serif;
    font-size: small;
    height:100%;
    width:100%;
    color:#00000000;
    </STYLE>
    <%
    String value="";
    try{
    Connection dbConn;
    Statement stmt=null;
    Context jndiCtx=new InitialContext();
    javax.sql.DataSource ds = (javax.sql.DataSource)jndiCtx.lookup( "jdbc/webdbPooledDS" );
    dbConn= ds.getConnection();
    stmt=dbConn.createStatement();
    String sql="select prog_name_LL2 from test_table where table_name='test'";
    ResultSet rs = stmt.executeQuery(sql);
    if( rs.next()){                    
    value=rs.getString(1);
    System.out.println("value="+value);
    out.println("<table class='tb'><tr><td>"+value+"</font><br>");
    String value1 = new String(value.getBytes("ISO8859_1"), "GB2312");
    out.println(""+value1+"</td></tr></table>");
    rs.close();
    stmt.close();
    dbConn.close();
    }catch(Exception e){
    System.out.println("Exception ="+e.getMessage());
    %>
    </BODY></HTML>

    Follow the steps as listed below:
    1. Is the Font available on Printer
               Goto SP01 transaction -> Enter the Spool Number -> Execute
    2. Does device type/Spool Server support the font
               Goto Transaction SPAD and click Output Devices
    3. SAP level Multibyte setting in place
               Click ALT + F12
               Select Options -> I18N
               Tick Activate Multibyte functionality
    4. Is appropriate font for the language used
              For Simplified Chinese (ZH)  language use font  CNHEI, CNKAI, CNSONG
    SAP Notes related to Fonts
    a.0000776507 SAPscript/SmartForms: Which fonts for which languages?
    b.0000323736 Restrictions with "PDF print" through spooler
    c.0000317851 Creating PDF format using the SAP spooler in 4.6C/4.6B/4.5B
    d.0000012462 How can I define a new printer font?
    e.Note 62178 Device types for the Japanese version of the R/3 System

  • Displaying Chinese Characters in a JLabel

    I wish to display Chinese characters in a JLabel WITHOUT setting the JLabel's font. The following code works fine under Java 1.4.x for Mac OSX, and Java 1.5 for Windows. However, the characters do NOT display properly under Java 1.4.x for Windows. Does anyone have any idea why? I really need to get this to work under 1.4.x for Windows without having to call JLabel.setFont(...). Maybe it's a known bug in 1.4.x that has a workaround (hopefully)?
            javax.swing.JFrame frame = new javax.swing.JFrame("Chinese Test");
            JLabel label = new javax.swing.JLabel("\u54C8\u7F57", javax.swing.JLabel.CENTER);
            frame.getContentPane().add(label, java.awt.BorderLayout.CENTER);
            frame.getContentPane().setSize(200, 200);
            frame.setLocation(50, 50);
            frame.setSize(200, 200);
            frame.setVisible(true);

    1. I do not wish to set the Font on the label(s) because we have localized our application in many languages using a custom localization scheme and I do not want to change all of the code.
    2. Yes, I have all the forms of Chinese installed on my Windows system.
    3. I found that if I use an HTML string of the form: <html><body><font face="SimSun">\unicode chinese chars...
    then THAT WORKS. The JLabel renders the String in Chinese. This might be a good option for us.
    4. All of it works automatically without the need for an HTML String under Java 1.5 because evidently 1.5 has built-in support for setting the proper font on the widget after analyzing the unicode characters.
    - Eric

  • The "blue bar" no longer properly displays Chinese characters.

    I recently updated my Adobe Reader from 7 to 9.4, and since doing so, Firefox no longer displays Chinese characters in the title bar. Instead, I now only see question marks.
    I've added Chinese to the preferred languages and also tried switching the browser's text to Unicode, but neither of these has made a difference.
    It's certainly a minor issue, but if anyone knows what to do, I'd greatly appreciate the help!
    Thanks!

    A possible cause is that Firefox has a problem with the (system) font that is used to display the Chinese characters on the title bar.
    Were any new fonts installed recently?
    You can try to use the system file checker to see if there are any problems with font files.
    See Description of Windows XP and Windows Server 2003 System File Checker (Sfc.exe): http://support.microsoft.com/kb/310747

  • Display Chinese Characters

    What needs to be done to make PRS-950 display Chinese characters in MS Word format? Please help!

    The Reader can display text written in English fonts and other Latin-based languages such as Spanish, French and German, however it cannot display Chinese characters on text based files. The Reader does support PDF documents in other languages however, so Chinese PDF files should display fine.

Maybe you are looking for

  • Mp3 wont'play on 6111 - file format not supported

    hi i've just uploaded an mp3 file in the gallery of my 6111 phone. i wanted to use it as ringtone, but when i try to open it, it complains "file format not supported". the manual says my phone can play mp3 and aac, so what kind of mp3 will it play? i

  • InDesign Buttons and Forms... Not Working

    Hello Guys, I'm using Adobe InDesogn CC 10.1.0.70 x64 Build, the problem is with the check box option from Buttons and Forms, They are, simply, not working... I'm trying to add a check box on my pdf I'm creating in InDesign.. I'm using checkbox from

  • How do I make a small honeycomb swatch pattern in Illustrator?

    Hi All I really want to make a small honeycomb swatch pattern (the polygons should be small  - 2 px x 2px) , but I just cannot get it to work. What I did is make one small polygon, and went to: Object>pattern>make and applied the following settings:

  • How to make PowerBook remember screen layouts from small screen to Cinema

    I'm using a 23" Cinema Display with my G4 Powerbook. But I often disconnect the display if I need to take the Powerbook with me around the office. When I do this, I have to reposition all my windows - finder and apps - where I want them on the small

  • Not able to Interface Draft Invoice to AR

    Hi, We have one Draft Invoice which is Approved, Released, and AR Period also open and Remit-To-Address also defined but we are not able to Interface it to AR.. Could you please tell me what could be the reason. Thanks Bharath