Storing Chinese Characters

What are the NLS_CHARACTERSET and NLS_LENGTH_SEMANTICS settings required to store chinese characters?

AL32UTF8 and AL16UTF16 support exactly the same Unicode standard in a given Oracle version. Both support supplementary characters: AL32UTF8 as single 4-byte codes, AL16UTF16 as surrogate pairs (two codes 2 bytes each). Therefore, AL32UTF8 support for supplementary characters is actually more transparent.
Also, AL32UTF8 is only valid as the database character set (VARCHAR2, CHAR, LONG, CLOB), while AL16UTF16 is only valid as the national character set (NVACHAR2, NCHAR, NCLOB).
UTF8 is the character set that should be avoided as it supports Unicode 3.0 only.
-- Sergiusz

Similar Messages

  • Storing chinese characters on Oracle 8.0.6

    My development environment is Oracle 8i (8.1.5), with a database setup with langange/territory/charset as /American/America/US7ASCII. I use the 8i jdbc thin driver in my servlet to store chinese characters to the database and everything is fine. However, in the production environment, somehow I need to use oracle 8.0.6 and the database nls setup is American/America/WEC8DEC, but some (not all) could not be displayed. Is this the wrong nls setup, or due to jdbc driver (8.0.6). Please help!

    Neither your database character set nor your national character set support Chinese characters. Both character sets are set to use the ISO 8859 character set, which only stores English and Western European characters.
    If you want to store Chinese characters in this database, you will need to use a character set that supports Chinese (i.e. one of the Unicode character sets). Since there are no Chinese character sets that are strict binary supersets of ISO 8859-1, changing the character set will generally require rebuilding the database.
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • How is WE8MSWIN1252 characterset storing chinese characters???

    I've read several oracle globalization documents and I'm very confused now. Here's my setup:.. everything is on 1 machine
    I'm runnig oracle 9.2.0.4 database on windowsXP.
    HKLM\SOFTWARE\ORACLE\NLS_LANG registry key value = NA
    HKLM\SOFTWARE\ORACLE\HOME0 registry key value = AMERICAN_AMERICA.WE8MSWIN1252
    select * from nls_database_parameters
    returns:
    NLS_CHARACTERSET = WE8MSWIN1252
    NLS_LANGUAGE =     AMERICAN
    NLS_NCHAR_CHARACTERSET = AL16UTF16
    windows xp settings for regional & language options, advanced tab under language for non-unicode programs is set to Chinese(Taiwan).
    Using the strgen tool available for free from MS here (http://www.microsoft.com/globaldev/tools/strgen.mspx). I generate hundreds of CHT(Chinese Taiwan) characters and then insert them via sqlplus into a varchar2(100), then query the results getting what looks like the exact characters I put in.
    If I run:
    select dump(column_name), column_name from table_name;
    on a row containing 4 chinese characters the results are:
    Typ=1 Len=8: 165,250,184,234,187,219,179,225 [4 chinese characters go here - sorry they aren't pasting properly]
    Looks like multibyte to me, but I must be missing something??
    My main question is why DON'T I get question marks??? I.e. Since I'm using an single byte characterset shouldn't it be junk that is return instead of exactly, or at least what looks like exactly, the same characters be returned. I'm missing something -- please, someone clear things up for me. I will provide whatever info that is necessary.
    This is very critical to us in that we've been using a front-end application for some time with this configuration and have only recently tried globalizing/localizing our web based products. It seems that in order for apache to send the proper encoding to the web based client, that the nls_lang registry entry should be set to ZHT16BIG5, which will make the browser work, but this then breaks our front-end app.
    Thank you,
    Jason

    This is typical pass-through scenario (known as "garbage-in garbage-out").
    You have defined NLS_LANG to be the same as the database character set.
    Therefore, the database does no character set conversion as it thinks
    no conversion is needed. You see Chinese characters because the SQL*Plus
    font is set to the system default for Chinese locale. The operating system
    displays received codes as Chinese and not as Western European.
    For the data that you DUMPed, call LENGTH(). In a correct configuration,
    with the ZHT16MSWIN950 character set, the function would return 4.
    But it will return 8, because Oracle thinks the input is a string of WE8MSWIN1252
    single-bytes codes. Also, try Java to show the characters. You will
    not succeed, because Java converts to Unicode and this conversion from
    WE8MSWIN1252 will produce mess from the Chinese codes.
    In a proper configuration, you need NLS_LANG=.ZHT16MSWIN950 and
    the database character set (NLS_CHARACTERSET) either ZHT16MSWIN950,
    or AL32UTF8, if the database is to be really multilingual.
    -- Sergiusz

  • 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.

  • Storing 2000 chinese characters in a column

    Hi,
    I have declared VARCHAR2(4000 CHAR) in my table. But it is still allowing me to store only 1333 chinese characters (4000/3byte). How do I achieve to store 2000 chinese characters in my table?
    Thanks.
    Regards
    DARMA
    Edited by: Darma on Oct 2, 2009 10:15 AM

    Depends on which character set you need. Potentially a 'double byte' db character set could work, such as ZHT16HKSCS taking 2 bytes storage per character.
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14225/applocaledata.htm#sthref1960

  • Storing chinese in client odb from java application

    Hi all,
    first i like to thank Greg Rekounas for his wonderful support and contribution....
    This is my server setup.
    os-windows 2000 sp4
    db-oracle 9ir2 (unicode with AL32UTF8 charset)
    lite-oracle10g r2 (with latest patchset)
    nls_lang- AMERICAN_AMERICA.AL32UTF8
    storing and retriving chinese in oracle 9i database from isql*plus works.
    lite configuration.
    1. In $OLITE_HOME\mobile_oc4j\j2ee\mobileserver\applications
    \mobileserver\setup\common\webtogo\webtogo.ora file edited the JAVA_OPTION
    to:
    JAVA_OPTION=-Djava.compiler=NONE -Dfile.encoding=UTF8
    2. In $OLITE_HOME\mobile_oc4j\j2ee\mobileserver\applications
    \mobileserver\setup\dmc\common\win32.inf file, added the following:
    a. In the <file> section, added the following:
    <item>
    <src>/common/win32/olilUTF8.dll</src>
    <des>$APP_DIR$\bin\olilUTF8.dll</des>
    </item>
    b. In the <ini> section, added the following:
    <item name='POLITE.INI' section='All Databases'>
    <item name="DB_CHAR_ENCODING">UTF8</item>
    </item>
    <item name='POLITE.INI' section='SYNC'>
    <item name="DB_ENCODING">UTF8</item>
    </item>
    published the application developed in java using packaging wizard.
    downloaded the client in the pc with the following config:
    windows 2000 (english)
    nls - default.
    installed chinese language support.
    tried to access 9i database from isql*plus and stored & viewed chinese characters sucessfully.
    tried to store a chinese character from java application in the client odb -- failed.
    values are getting inserted from the application but when i view them back it shows & # 2 6 0 8 5 ; (i have included a space in between all 8 characters.
    but when i copy this no and paste in msword it shows 日(chinese character)
    i dont know the exact reason for the above scenerio...................
    Also please help me on this too.......
    why can i store & view chinese characters sucessfully in isql*plus from the client machine while i cannot do the same on client odb from java application even though the lite config are done to support utf8?
    is anything i left out?
    should i do any codes changes in java?(java application is of verision jdk1.4_13)
    Thanks,
    Ashok kumar.G

    Sorry for late replay!! in the SharePoint server both the Claim based and Classic mode is enabled in the server, but still I want to get authenticated via Classic mode just like it happens in SharePoint  2007 and 2010, so do i have to use a different
    set of classes to do that if yes can you please tell me those ?

  • Cannot Store Chinese Characters In Oracle 9.2.0.7 Database

    Hi,
    I'm having trouble localizing my Oracle 9.2.0.7 / ASP web application for our Chinese-speaking users.
    My Oracle 9.2.0.7 Database has NLS_NCHAR_CHARACTERSET set to AL16UTF16.
    I've set up a test table thus:
    CREATE TABLE "TBL_TEST_CH"
    field1                          NVARCHAR2(40),
    field2                          NVARCHAR2(40)
    I have the Chinese character set installed on my database / web server (same box), as well as a test client machine. I can see Chinese characters in my web browser, and can enter them in a test ASP page I've set up. When I execute an insert statement via ADO, the insert statement seems to work, but the result is that the data seems to be stored as upside-down question marks.
    I thought perhaps the data was being somehow scrambled between the web app and the database, so I set up an external table import the Chinese data from a Unicode text file:
    CREATE TABLE kenny.ch_import
         FIELD1          NVARCHAR2(255),
         FIELD2          NVARCHAR2(255)
         ORGANIZATION EXTERNAL (TYPE oracle_loader
         DEFAULT DIRECTORY ext_dat_dir
         ACCESS PARAMETERS
         (RECORDS DELIMITED BY ":"
         FIELDS TERMINATED BY "~"
         missing field values are null)
         LOCATION (ext_dat_dir:'test_ch.txt'))
         reject limit unlimited
    However, when I query the data in the external table using my web application, it comes back with garbage like "ÿþ1" and the like.
    To attempt to determine if the database is capable of storing the Chinese characters, I've performed the following test:
    1) I insert a Chinese character in an NVARCHAR2 field in my table by using the UNISTR function thus:
    insert into tbl_test_ch (field1) values (unistr('\3E00'))
    2) I interrogated the value using the dump function thus:
    select dump(field1, 1016) FROM tbl_test_ch
    I'm struggling to understand the output. Obviously the character set being used is "AL16UTF16" (which I would expect to be able to store Chinese characters), but the return_format argument I've provided to the function (1016) should return the hexadecimal code point of the character that's being stored. I would expect this to be the same as I inserted ("3E00"), but I'm getting the following output:
    DUMP(FIELD1,1016)
    Typ=1 Len=2 CharacterSet=AL16UTF16: 3e,0
    I'd really appreciate any suggestions on what I could do next to determine exactly where the problem lies. I've not been able to convince myself that the database is correctly storing the Chinese character data, but I appreciate equally that the problem could lie elsewhere.
    Thanks in advance,
    Kenny McEwan.

    Thanks, Serguisz.
    My technology stack is as follows:
    ASP 3.0 web application, running on IIS6.
    On the web servier, I have MDAC 2.8 SP2 on Windows Server 2003 SP1.
    On the Oracle database server, I have Windows Server 2003 SP1.
    My Oracle database version is 9.2.0.7.
    The client I've been using in this investigation is Internet Explorer 6.0.2900.
    It does look like you're right about characters coming from the application are being corrupted. To support this, I tried to insert the chinese character 博 as well as the Unihan character 中 from a web page in my application. I then used the dump function to interrogate the contents of the field I input to thus:
    select dump(field1, 1016) FROM tbl_test_ch
    DUMP(FIELD1,1016)
    Typ=1 Len=2 CharacterSet=AL16UTF16: 0,bf
    Typ=1 Len=2 CharacterSet=AL16UTF16: 0,bf
    Both characters seem to have suffered the same corruption.
    The problem seems to happen in the other direction as well - even after verifying that the character detailed in the previous post was stored correctly, it is still displayed by my web app as an upside down question mark.
    Do you have any suggestions on how to proceed?
    Best regards,
    Kenny.

  • 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.

  • How to use a select statement with chinese characters?

    I am currently developing a java servlet<using tomcat 4.x> which allows me to use select statement to retrieve results from the Microsoft SQL Server 2000 database. I am using a simple form to get the parameter for querying. The main problem i'm facing is that there are chinese information in the SQL database, but i can't retrieve it through the sql statement with the chinese characters input<thru the form with the help of NJ STAR>in the WHERE condition. When i execute the statement, it returns me no results even though the rows are present in the database.
    Does anyone have the solution to using chinese words in the WHERE clause of the select statement to retrieve results with columns which contains chinese characters? Please help me. Thanks everyone. :)
    PS: when i cut and paste those characters in the sql database and paste onto java.. it is ??? in questionmarks.. but when i paste them into excel 2000.. its shown as chinese chars again..
    please heelppp~~

    Greetings,
    PS: when i cut and paste those characters in thesql
    database and paste onto java.. it is ??? in
    questionmarks.. but when i paste them into excelThis is why the SELECT is not returning any results.
    You need to set the character encoding set on your
    statement and parameters for the characters to be
    properly translated. Refer to the charsetName
    parameter in the String class constructor in your API
    docs and also to
    $JDK_DOCS/guide/intl/encoding.doc.html in your JDK
    documentation.
    2000.. its shown as chinese chars again..Because Office programs are performing the same kind
    of character translation with the appropriate MS APIs.
    please heelppp~~Regards,
    Tony "Vee Schade" Cookis it possible for you to show me some coding examples? i don't really understand what is to be done in order to set the char set and what does it really do.. tried reading up but still dun understand.. :(
    pardon my shallow knowledge of java..
    ok..
    The thing is when i used an insert statement with chinese characters of GBK format hardcoded into the java servlet and then i use the insert statement to insert the chars into the database, it cannot be seen as a chinese word when i off the NJStar. and then it can be searched out with my current form of servlet.. below is my coding of the servlet..
    note: i've set my html file to charset = GBK
    //prototype of Search engine...
    //workable for GBK input and output...
    import java.io.*;
    import java.io.OutputStream;
    import java.io.IOException;
    import javax.servlet.http.*;
    import javax.servlet.ServletException;
    import java.util.*;
    import java.sql.*;
    import java.nio.charset.Charset;
    public class SearchBeta extends HttpServlet {
         private Vector musicDetails = new Vector();
         private String query = "";
         public void service (HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException, UnsupportedEncodingException {
              query = req.getParameter ("T1");
              System.out.println("before:"+query);
              String type = req.getParameter ("D1");//type
              query = req.getParameter ("T1");
              //query = "������";
              System.out.println("after:"+query);
              getResults(type,query);
              System.out.println("locale = :"+req.getLocale());
              res.setContentType ("text/html;charset=GBK");
              PrintWriter out = res.getWriter();
              out.println("<html>");
              out.println("<head>");
              out.println("<body bgcolor = \"black\">");
              out.println("<font face = \"comic sans ms\" color=\"Cornsilk\">");
              if (query.length()==0)
                   out.println ("Please key in your search query.");
              else if (musicDetails.size()==0)
                   out.println ("Sorry, no results matching your search can be found.");
              else {
                   out.println("<center>");
                   out.println("<table cellspacing = \"50\">");
                   int i = 0;
                   //Display the details of the music
                   while (i<musicDetails.size()) {
                        Results details = (Results)musicDetails.get(i);
                        String dbArtist = "";
                        String dbAlbum = "";
                        String dbTitle = "";
                        String dbCompany = "";
                        dbAlbum = details.getAlbum();
                        dbTitle = details.getTitle();
                        dbCompany = details.getCompany();
                        dbArtist = details.getArtist();
                        try{
                             dbAlbum = new String(dbAlbum.getBytes("ISO-8859-1"),"GBK");
                             dbTitle = new String(dbTitle.getBytes("ISO-8859-1"),"GBK");
                             dbCompany = new String(dbCompany.getBytes("ISO-8859-1"),"GBK");
                             dbArtist = new String(dbArtist.getBytes("ISO-8859-1"),"GBK");//correct translation.
                        catch(UnsupportedEncodingException e){
                             System.out.print(e);
                             e.printStackTrace();
                        String dbImage_loc = details.getImage();
                        out.println("<tr>");
                             out.println("<td><table>");
                                  out.println("<img src=C:\\Program Files\\Apache Group\\Tomcat 4.1\\webapps\\examples\\ThumbNails\\"+dbImage_loc+">");
                             out.println("<tr>");
                                  out.println("<th><font color=\"violet\"> Artist: </font></th>");
                                  out.println("<td><font color=\"Cornsilk\">"+dbArtist+"</font></td>");
                             out.println("</tr>");
                             out.println("<tr>");
                                  out.println("<th><font color=\"violet\"> Title: </font></th>");
                                  out.println("<td><font color=\"Cornsilk\">"+dbTitle+"</font></td>");
                             out.println("</tr>");
                             out.println("<tr>");
                                  out.println("<th><font color=\"violet\"> Company: </font></th>");
                                  out.println("<td><font color=\"Cornsilk\">"+dbCompany+"</font></td>");
                             out.println("</tr>");
                             System.out.println("album: "+ dbAlbum);
                             out.println("<tr>");
                                  out.println("<th><font color=\"violet\"> Album: </font></th>");
                                  out.println("<td><font color=\"Cornsilk\">"+dbAlbum+"</font></td>");
                             out.println("</tr>");
                             System.out.println("company: "+ dbCompany);
                             out.println("</table></td>");
                        out.println("</tr>");
                        i++;
                   out.println("</table>");
                   out.println("</center>");
              out.println("</font>");
              out.println("</body>");
              out.println("</head>");
              out.println("</html>");
              out.close();
              //to remove all the elements from the Vector
              musicDetails.removeAllElements();
         //get Searched Music Details and store in Results object which is stored in musicDetails vector
         public void getResults (String type, String searchQuery) {
              try {
                   Class.forName ("com.microsoft.jdbc.sqlserver.SQLServerDriver");
                   Connection con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=music","sa","kokkeng");
                   Statement stmt = con.createStatement();
                   String query = "SELECT * FROM MusicDetails WHERE "+type+" = '"+searchQuery+"'";
                   ResultSet rs = stmt.executeQuery(query);
                   while (rs.next()) {
                        String artist = rs.getString("Artist");
                        String title = rs.getString("Song");
                        String company = rs.getString("Company");
                        String album = rs.getString("Album");
                        String image_loc = rs.getString("Image");
                        Results details = new Results (artist,title,company,album,image_loc);
                        musicDetails.add(details);
                   stmt.close();
                   con.close();
              catch (Exception e) {
                   System.out.println(e.getMessage());
                   e.printStackTrace();
    with the above servlet i created, i can search out the data in the database which i've inserted through the insert statement. I still can't search for things i've keyed into the database directly using NJStar..
    thank you so much for helping.. really hope any one else who knows the answer to this will reply too... thank you all so much...
    -KK

  • PDF from Word 2007 ends up with scrambled Chinese characters

    I have a problem with PDF files when converted from a Word 2007 document that includes Traditional Chinese characters and I hope someone might be able to help or point me in the right direction. After converting it to PDF via "Create PDF" from the Acrobat toolbar, the Chinese characters are all wrong. It looks like Chinese but none of the characters actually exist, it's all scrambled and useless. Converting English or German text works fine, so far, it's only the Traditional Chinese text that causes problems.
    The strange thing is that prior to installing Office 2007, all worked just fine. I could convert Chinese text from Word 2003 without any problems and other than updating to Word 2007, nothing has changed. Any idea where to start trouble shooting and how to fix it? I've already tried re-installing and reparing both Word and Acrobat but no improvement.
    OS: WinXP Professional SP3 (English system)
    Adobe: Master Collection CS4 (English)
    Acrobat: Acrobat 9 Pro v9.1.3 (English)
    PDF Maker: Conversion Settings are set to default "Smallest File Size Web"
    Word: Microsoft Office Word 2007 (12.0.6504.5000) SP2 MSO (12.0.6425.1000)
    Note: Using "Save As" and select "PDF or XPS" in Word 2007 works fine, the Chinese characters show up properly in the PDF file but I prefer using the PDF Maker from Acrobat to create my PDF files.

    I have found that WORD 2007, particularly with docx files, does some strange things to PDF files that you produce. It seems to break a perfectly good graphic into parts and send the parts to the PDF (not usually a problem unless you zoom in). We have tested with AA8 and AA7 with WORD 2007 and gotten these results. WORD 2003 worked like expected. It is almost as though MS decided to put some hooks in OFFICE 2007 for Acrobat. Normally with Acrobat, the graphics come out as a single graphic as stored in the application.
    Glad you got the character issue to work. I use a job.settings file that is distributed by a publisher to get an "optimized" form of product for posting. Of course, optimized is always in the eye of the beholder, but I have been happy with it.

  • 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

  • Non-unicode FTP transfer of chinese characters

    Hi,
    We're trying to transfer data in SAP stored under .txt format using an abap program to FTP across to another external system. Our current SAP system is 4.6C is does not have unicode capability and uses code page to translate non-English texts. We have data that contains chinese characters and we would need to automatically transfer these data across to the external system via FTP.
    The problem we face is that it appears that the text in the receiving end was unable to interpret the chinese characters and funny characters are appearing. How do we solve this problem ?

    hi
    as far as i know when working with korean characters
    we came to know that OS level should support the language characters
    usally if the text file is having ascii characters that is enough(no need of any kind of specifi language characters, korean or chinese or what ever it may be)
    if u open this text file with proper OS installed in your system then it will appear correctly for you
    otherwise it will show junk characters
    so concentrate on the ascii values for the chinese characters in your system
    if the target system supports chinese characters then this ascii characters should appear as chinese characters to them also

  • 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;

  • Chinese Characters Printing as Boxes in SAPscript

    Issue...why would a Chinese standard text print fine using the "INCLUDE" method, but output as boxes when that same Chinese standard text is retrieved successfully using the "PERFORM" method?
    Summary...I am currently experiencing problems printing Chinese characters on a custom SAP Script form. This does not appear to be an issue with printer setup or font selection, as I am able to get the Chinese characters to appear depending on the method I use. The problem occurs when I execute a "PERFORM" within the SAP script to retrieve the Chinese standard text, the results are displayed as boxes. If I "INCLUDE" the standard text directly within the SAP script, the Chinese standard text prints without issue. I have executed the SAP script in debug mode and the Chinese text is being retrieved from the "PERFORM" statement as expected, but just does not display correctly as it does by using the "INCLUDE" approach. I'm trying to understand why the two approaches would not both work in the same manner. We are on a UNICODE system.
    Though we may be able to use the "INCLUDE" method in a majority of places, we are interested in using the function "ADDRESS_INTO_PRINTFORM" for printing addresses. This would require passing values back to the SAP script line by line.
    Below is a simplified version of the two methods...
    (PRINTS CHINESE CHARACTERS AS EXPECTED)
    INCLUDE 'ZADDRESS_LINE1' OBJECT 'TEXT' ID 'ST' LANGUAGE &NAST-SPRAS& PARAGRAPH IG
    (RESULTS IN BOXES BEING PRINTED)
    PERFROM GET_TEXT IN PROGRAM ZGET_CHINESE_TEXT
    USING &NAST-SPRAS&
    CHANGING &ADDRESS_LINE1&
    ENDPERFORM.
    &ADDRESS_LINE1&
    (&ADDRESS_LINE1& contains Chinese characters as expected when debugging SAP script)
    FORM GET_TEXT TABLE PT_IN STRUCTURE ITCSY
    PT_OUT STRUCTURE ITCSY
    ...USE FUNCTION 'READ_TEXT' TO RETRIEVE CHINESE TEXT FROM ZADDRESS_LINE1 STANDARD TEXT (works as expected)
    read table pt_out index 1.
    move ADDRESS_LINE1 to pt_out-value.
    modify pt_out index 1.
    (PT_OUT table is populated with chinese text as expected)
    ENDFORM.

    Language for form is 'ZH'.
    To clarify the original post, the standard text is being retrieved correctly for both methods.  By this I mean that during debugging of the SAP script I can see the Chinese text as expected for both methods.  However, during print preview only the "INCLUDE" method displays correctly.  I have both methods included in my current script for the same standard text and the "INCLUDE" displays fine, but not the "PERFORM" method.
    Does the "CHANGING" parameter which is populated by the "PERFORM" need to be defined in a particular way?  Might there an issue with the TDSYMVALUE type that is used for storing the values retrieved from the "PERFORM"?

  • Help Needed with using Japanese and Chinese characters in SQL Server

    Hi,
    In my application I have to deal with storing chinese, japanese and English characters in the database which will come from a JSP ... Please help me in knowing how to do this...
    Thanks
    Rhea

    Hello,
    I believe that I answered this question on this post:
    http://forum.java.sun.com/thread.jsp?forum=16&thread=25625
    I hope that this helps.
    Perogi.

Maybe you are looking for