ODBC API SQLBindParameter Bug When Passing Chinese Characters?

Hi Everyone,
I am accessing Oracle 10g database (on Windows XP) from Windows XP machine.
Table TEST_TABLE is defined as
CREATE TABLE TEST_TABLE(NVARCHAR2(255))
Using ODBC (code comes shortly) data are successfully inserted into table using SQLBindParameter to bind parameter values.
The same data can be succesfully read from the table. But the query to retrieve only those rows containing chinese characters simply doesn't work.
I am using SQLBindParameter to bind a parameter placeholder when executing SELECT * FROM TEST_TABLE WHERE C1=?. It simply doesn't find the rows if parameter value contains chinese characters, it only finds rows if parameter contains pure ASCII data.
Am I missing something here? NVARCHAR2 data type should be able to always store unicode data. My database settings are:
NLS_NCHAR_CHARACTERSET=AL16UTF16 and NLS_CHARACTERSET=WE8MSWIN1252
Here is the code:
#include "stdafx.h"
#include <windows.h>
#include <sql.h>
#include <sqlext.h>
#define SQLCheck(x)          if (SQL_SUCCESS != x) {\
                                                            SQLINTEGER native;\
                                                            SQLSMALLINT msgLength;\
                                                            SQLCHAR szState[SQL_MAX_MESSAGE_LENGTH],szErrorMessage[SQL_MAX_MESSAGE_LENGTH];\
                                                            ::SQLError(henvAllConnections,hdbc,hstmt,szState,&native,szErrorMessage,SQL_MAX_MESSAGE_LENGTH,&msgLength);\
                                                            printf("Error state=%s, native=%d, message = %s\n",szState,native,szErrorMessage);\
                                                            DebugBreak();\
#define MAX_CONNECT_LEN 512
int tmain(int argc, TCHAR* argv[])
     SQLRETURN nRetCode     ;     
     HENV henvAllConnections;
     HDBC hdbc(0);
     HSTMT hstmt(SQL_NULL_HSTMT);
     //TEST_TABLE is created using the following query CREATE TABLE TEST_TABLE(C1 NVARCHAR2(255))
     nRetCode = ::SQLAllocEnv(&henvAllConnections);
     SQLCheck(nRetCode)
     nRetCode = ::SQLAllocConnect(henvAllConnections, &hdbc);
     SQLCheck(nRetCode)
     HWND hWnd = ::GetDesktopWindow();
     TCHAR szConnectOutput[MAX_CONNECT_LEN];
     TCHAR *pszConnectInput = const_cast<LPTSTR>(_T("DSN=o10 american;UID=no;PWD=no#"));
     SWORD nResult;
     nRetCode = ::SQLDriverConnect(hdbc, hWnd, reinterpret_cast<SQLTCHAR *>(pszConnectInput),
          SQL_NTS, reinterpret_cast<SQLTCHAR *>(szConnectOutput), sizeof(szConnectOutput),
          &nResult, SQL_DRIVER_NOPROMPT);
     SQLCheck(nRetCode)
     nRetCode = ::SQLAllocStmt(hdbc, &hstmt);
     SQLCheck(nRetCode)
     TCHAR* szQuery = T("INSERT INTO TESTTABLE(C1) VALUES(?)");
     nRetCode = ::SQLPrepare(hstmt,reinterpret_cast<UCHAR*>(szQuery), SQL_NTS);     
     SQLCheck(nRetCode)
     SQLSMALLINT     DataType,DecimalDigits,Nullable;
     SQLUINTEGER     ParamSize;
     nRetCode = ::SQLDescribeParam(hstmt, 1, &DataType, &ParamSize,&DecimalDigits, &Nullable);
     SQLCheck(nRetCode)
     wchar_t chineseData[6];
     chineseData[0]=0x0023;chineseData[1]=0x0050;chineseData[2]=0x0043;chineseData[3]=0xBA85;chineseData[4]=0xc870;chineseData[5]=0x0000;
     wchar_t asciiData[] = L"test data";
     SQLLEN sqlnts = SQL_NTS;
     nRetCode = ::SQLBindParameter(hstmt, (UWORD)1,SQL_PARAM_INPUT,SQL_C_WCHAR,SQL_WVARCHAR,ParamSize,DecimalDigits,chineseData,static_cast<SQLINTEGER>(wcslen(chineseData) * sizeof(wchar_t)),&sqlnts);
     SQLCheck(nRetCode)
     nRetCode = ::SQLExecute(hstmt);
     SQLCheck(nRetCode)
     nRetCode = ::SQLBindParameter(hstmt, (UWORD)1,SQL_PARAM_INPUT,SQL_C_WCHAR,SQL_WVARCHAR,ParamSize,DecimalDigits,asciiData,static_cast<SQLINTEGER>(wcslen(asciiData) * sizeof(wchar_t)),&sqlnts);
     SQLCheck(nRetCode)
     nRetCode = ::SQLExecute(hstmt);
     SQLCheck(nRetCode)
     nRetCode = SQLFreeStmt(hstmt,SQL_DROP);
     SQLCheck(nRetCode)
     TCHAR* pszSQL = _T("SELECT * FROM TEST_TABLE WHERE C1=?");
     int nMaxLength = 1024;
     SQLLEN lLength = SQL_NTS,dataLen;
     TCHAR lpszFieldName[256];
     SWORD nActualLen,nSQLType,nScale,nNullability;
     SQLULEN     nPrecision;
     SQLSMALLINT nResultCols;
     wchar_t pWData[1024];
     nRetCode = ::SQLAllocStmt(hdbc, &hstmt);
     SQLCheck(nRetCode)
     SQLLEN paramLength = static_cast<SQLINTEGER>(wcslen(chineseData) * sizeof(wchar_t));     
     nRetCode = ::SQLBindParameter(hstmt,1,SQL_PARAM_INPUT,SQL_C_WCHAR,SQL_WVARCHAR,nMaxLength,0,chineseData,paramLength,&sqlnts);     
     SQLCheck(nRetCode)
     nRetCode = ::SQLExecDirect(hstmt, reinterpret_cast<SQLTCHAR *>(pszSQL), SQL_NTS);
     SQLCheck(nRetCode)
     nRetCode = ::SQLNumResultCols(hstmt, &nResultCols);
     SQLCheck(nRetCode)
     nRetCode = ::SQLDescribeCol(hstmt, 1,     reinterpret_cast<SQLTCHAR *>(lpszFieldName), 255, &nActualLen,&nSQLType,&nPrecision,&nScale,&nNullability);          
     SQLCheck(nRetCode)
     nRetCode = ::SQLBindCol(hstmt, 1,     SQL_C_WCHAR, pWData, (nPrecision+1) * sizeof(wchar_t),     &dataLen);
     SQLCheck(nRetCode)
     nRetCode = nRetCode = ::SQLFetch(hstmt);
     if (SQL_NO_DATA_FOUND == nRetCode)
          printf("No data found although data are in the table!\n");
     else
          printf("Found chinese data in the table!\n");
     //now try with another qay of SQLBindParameter, which uses length instead of SQL_NTS     
     nRetCode = ::SQLBindParameter(hstmt,1,SQL_PARAM_INPUT,SQL_C_WCHAR,SQL_WVARCHAR,nMaxLength,0,chineseData,paramLength,&paramLength);
     SQLCheck(nRetCode)
     nRetCode = ::SQLExecDirect(hstmt, reinterpret_cast<SQLTCHAR *>(pszSQL), SQL_NTS);
     SQLCheck(nRetCode)
     nRetCode = nRetCode = ::SQLFetch(hstmt);
     if (SQL_NO_DATA_FOUND == nRetCode)
          printf("No chinese data found even using different way of SQLBindParameter, although chinese data are in the table!\n");
     else
          printf("Found chinese data in the table!\n");
     //now try with ascii data
     nRetCode = ::SQLBindParameter(hstmt,1,SQL_PARAM_INPUT,SQL_C_WCHAR,SQL_WVARCHAR,nMaxLength,0,asciiData,static_cast<SQLINTEGER>(wcslen(asciiData) * sizeof(wchar_t)),&sqlnts);
     SQLCheck(nRetCode)
     nRetCode = ::SQLExecDirect(hstmt, reinterpret_cast<SQLTCHAR *>(pszSQL), SQL_NTS);
     SQLCheck(nRetCode)
     nRetCode = ::SQLBindCol(hstmt, 1,     SQL_C_WCHAR, pWData, (nPrecision+1) * sizeof(wchar_t),     &dataLen);
     SQLCheck(nRetCode)
     nRetCode = ::SQLFetch(hstmt);
     if (SQL_NO_DATA_FOUND == nRetCode)
          printf("also didn't found ascii data!\n");
     else
          printf("found ascii data!\n");
     nRetCode = ::SQLFreeStmt(hstmt,SQL_DROP);
     SQLCheck(nRetCode)
     nRetCode = SQLAllocStmt(hdbc,&hstmt);
     SQLCheck(nRetCode)
     //now read all values to prove data are really there
     TCHAR* pszSQLAllDaya = _T("SELECT * FROM TEST_TABLE");
     nRetCode = ::SQLExecDirect(hstmt, reinterpret_cast<SQLTCHAR *>(pszSQLAllDaya), SQL_NTS);
     SQLCheck(nRetCode)
     nRetCode = ::SQLBindCol(hstmt, 1,     SQL_C_WCHAR, pWData, (nPrecision+1) * sizeof(wchar_t),     &dataLen);
     SQLCheck(nRetCode)
     while (SQL_NO_DATA_FOUND != SQLFetch(hstmt))
          printf("data from table %S\n",pWData);
     nRetCode =      ::SQLFreeStmt(hstmt, SQL_DROP);
     SQLCheck(nRetCode)
hstmt = SQL_NULL_HSTMT;
     ::SQLDisconnect(hdbc);
     ::SQLFreeConnect(hdbc);
     ::SQLFreeEnv(henvAllConnections);
     return 0;
Regards,
Darko

Hi Darko,
You are right, I think you have discovered a bug in the 10.1.0.2 ODBC driver. I believe this problem is described in Bug 3249731.
The good news is that this is already fixed in the 10.1.0.3 ODBC driver. Do you have access to MetaLink? Goto patches and download "Patchset 3842783" which is the ORACLE ODBC INSTANT CLIENT DRIVER PATCH VERSION 10.1.0.3.0
Good Luck
Nat

Similar Messages

  • Can I pass Chinese characters in a queue (Do queues support Unicode)?

    I am aware that there are a number of tools to allow the use of Chinese characters within LabVIEW. I have successfully built an application where I am able to switch between English and Chinese so that all screen text, buttons, multi-column list boxes etc etc are updated correctly.
    However, I do all my event logging using queues. When I dequeue the an item, I want to write it out to a log file (i.e. a ".txt" file) but the resulting file contains rubbish instead of the Chinese characters.
    As an experiment, I created a simple VI that reads an array of Chinese text and writes it to a text file and this works fine. But, as I say, if I try doing this using queues, I just just get rubbish.
    Any help would be very much appreciated.
    Lee
    Solved!
    Go to Solution.

    Hi Steve
    I've tried to replicate my situation but now I get a different outcome. It seems that I am now getting Chinese characters in my text file. However, you'll see from my code that I'm trying to Tab seperate each item (Date, Time and Message) but this doesn't seem to be working. Likewise, I want to end each line with a Carriage Return but that doesn't seem to be working either.
    I think I'm going to have to take it on the chin that something I'm doing in my "real" application is preventing me from seeing the Chinese characters in my log file.
    I've attached the sample VI along with a sample logfile from my "real" application so you can see what I'm getting.
    I can't really see what I've done different between my sample VI and my application. The only real difference is to do with the Byte Order Mark. In my application I've tried the following :-
    Inserting this once at the beginning of the entire log file
    Inserting it once at the start of each line of the log file
    Inserting it before each piece of text excluding the date and time
    Inserting it before every message item including the Tabs and Carriage Returns
    None of the above produce anything I can use.
    Thanks for responding so quickly.
    Cheers
    Lee
    Attachments:
    Sample Chinese Queue.vi ‏37 KB
    120125-16-15-59.txt ‏1 KB

  • Why the user experience on Bluetooth keyboard of iPad is different on keyboard of MacBook, especially when typing Chinese characters?

    I am a Chinese in Taiwan, and I use a input method call "Changjei" (倉頡) to input chinese character. And thank for  "Yahoo Kimo Input Method" found in Macbook Pro, so that I can use this method  as same as typing in Windows PC. When I use bluetooth keyboard connect to iPad mini, it has "Changjei" input method also, but the user experience is different than typing in MacBook Pro! I often type the wrong word when typing in iPad, because some words need additional space key to avoid selection ( when selection appear usually need additional number key for selection ). Usually every chinese character only need one space key for confirm, and in iPad, some Chinese characters need two space key(this will cause problem), and others need one as usual. It slow me down greatly, and is not a smoothly and freely experience when expressing my idea by typing in iPad, and I often distract by these misleading situation when typing.

    FFor Apple to see your comments, you need to repost  it at
    http://www.apple.com/feedback

  • Webapp authentication failed when using chinese characters as login name

    Hello,
    I have tried webapp authentication on tomcat and oc4j, via BASIC and FORM auth-method. All failed when the login name contains non-English characters. It seems an encoding issue, therefore, I also tried to change the page encoding of the login form to utf-8. None of the above is successful. Is there any solution? I really appreciate any help!
    Thanks in advance!!

    Enterprise support:
    Call enterprise support  (866) 752-7753  to create  a case ID number
    Get an account at
    http://developer.apple.com/  then submit a bug report to http://bugreporter.apple.com/
    Once on the bugreporter page,
       -- click on New icon
       -- See if you need to attach a log file or log files, clicking on Show instructions for gathering logs.  Scroll down to find the area or application that matches the problem.
       -- etc.
    Developers:
    "Submitting Bugs and Feedback
    Your feedback goes a long way towards making our products even better. With Apple Bug Reporter, you can submit bug reports or request enhancements to APIs and developer tools."
    https://developer.apple.com/bug-reporting/

  • Passing Chinese characters in OBIEE 11g GO URL to init the dashboard prompt

    Hi Experts,
    Currently we are using OBIEE 11g and passing the dashboard prompt parameter values through the OBIEE go url. When we are passing English strings the dashboard prompt is initialized with the correct passing value. However for Chinese character it is not. I am using the URLEncoder.encode("parameter value", "UTF-8") encoding to encode the passing string.
    Can anyone tell me what is the wrong in this approach? How can we pass any language strings to OBIEE 11g via go url?
    Thanks

    To avoid encoding problems use POST method. Here is js example for OBIEE 10g, but I bellieve you will find similar XML syntax in 11g.
    function getGoXML(P){
         var goXML = '<sawx:expr xmlns:sawx="com.siebel.analytics.web/expression/v1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="sawx:logical" op="and">';
         for (var i=0; i<P.length-1; i=i+2){
              goXML = goXML + '<sawx:expr xsi:type="sawx:comparison" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" op="equal">';          
              goXML = goXML + '<sawx:expr xsi:type="sawx:sqlExpression">' + P[i] + '</sawx:expr>';
              goXML = goXML + '<sawx:expr xsi:type="sawx:untypedLiteral">' + P[i+1] + '</sawx:expr>';
              goXML = goXML + '</sawx:expr>';          
         goXML = goXML + '</sawx:expr>';
         return goXML;
    function dashboardPageNav (navParams){     
         var tForm = saw.createForm("customNavForm");
         tForm.action = saw.commandToURL("Dashboard");
         saw.addHiddenInput(tForm, "PortalPath", navParams.portalPath);
         saw.addHiddenInput(tForm, "Page", navParams.portalPage);
         saw.addHiddenInput(tForm, "Action", "Navigate");
         saw.addHiddenInput(tForm, "StateAction", "NewPage");
         saw.addHiddenInput(tForm, "P1", "dashboard");
         saw.addHiddenInput(tForm, "P0", getGoXML(navParams.P));
         tForm.submit();
    dashboardPageNav({
         portalPath: '<portal path>',
         portalPage: '<page name>',
         P: new Array(                         
              '<param1 name>', '<param1 value>',
              '<param2 name>', '<param2 value>',
              '<param3 name>', '<param3 value>',
              '<param4 name>', '<param4 value>'
    });

  • Chinese Characters in CS6 and CS5

    When pasting Chinese characters into cs6  some of them show up fine and others show up as a box, this is the same in cs5 also,  wondering if anyone knows what I need to do to get all the characters to show up, I have installed the east asian language pack for windows. here is the text I am pasting:
    警告
    设备
    自动启动 –
    能够导致
    严重伤害
    请远离

    Almost always if you get a box/square when pasting characters, what you're seeing is the "unknown character" symbol.  Basically, the font you've selected does not contain the character you're looking for.  As a result, you're getting a symbol to notify you of this fact.  While this problem happens in Chinese and Japanese (kanji), it will also come up with Korean, Hebrew, Arabic, Russian (Cyrillic), and sometimes even Greek or with certain Eastern European characters.  Your best bet is to choose a Pro font and make sure that you have the same font face selected in both applications.
    Hope that helps,
    David

  • Problem in displaying chinese characters in chinese OS

    I have a application that is supposed to run on chinese OS. But i can't seem to make it display in the correct language format, whether its big5 or gb2312.
    When saving chinese characters to db, it saves weird characters to the db and retreive the weird characters to be displayed on the web.
    Do I need to do any changes to anything ??
    Thank you in advance.
    current system requirements:
    Chinese OS (NT4)
    Access DB (English version)
    Java / JSP languages
    Display big5 or GB2312

    Try using varchar

  • Insert chinese characters in oracle81 database(with code here)

    Hi all,
    I have problem on insert chinese characters in oracle8i database(with code below). But no problem when display chinese characters in HTML( not include in the follow program)
    Can anyone help me?????
    In unix:
    Database setting:
    charset: ZHT16BIG5
    version:8.1.7
    In NT 4.0 with SP5:
    web/app server setting
    webserver: iWs4.0.1
    appserver: iAs6.0
    Java 1.2.2 with download classes12.zip/nls_charset12.zip
    JDBC thin driver
    code:
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.sql.*;
    import javax.sql.*;
    import java.util.*;
    import java.lang.*;
    import java.lang.reflect.*;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import java.math.*;
    import oracle.sql.*;
    public class updatedata extends HttpServlet
    Connection dbCon = null;
    ResultSet rs = null;
    DataSource ds1 = null;
    String input_data = "";
    public void doGet(HttpServletRequest req, HttpServletResponse res)
         throws ServletException,IOException{
         input_data = req.getParameter("chinese_input");
    res.setContentType("text/html; charset=BIG5");
    PrintWriter out = res.getWriter();
    // draw a table
    ConnDB(out);
    DrawTable(out);
    public void JDBC(PrintWriter out) throws NamingException {
    InitialContext ctx = null;
    String dsName1 = null;
    Connection conn = null;
         dsName1 = "jdbc/project";
         try {
    ctx = new InitialContext();
    ds1 = (DataSource)ctx.lookup(dsName1);
         }catch (NamingException e) {
         out.println("exception in servlet in JDBC : " + e.toString());
    /** big5 to unicode conversion **/
    private String b2u(String str2convert)
         throws IOException {
         StringBuffer buffer = new StringBuffer();
         byte[] targetBytes = str2convert.getBytes();
         ByteArrayInputStream stream = new ByteArrayInputStream(targetBytes);
         InputStreamReader isr=new InputStreamReader(stream, "BIG5");
         Reader in = new BufferedReader(isr);
         int chInt;
         while ( (chInt = in.read()) > -1 ) {
              buffer.append((char)chInt);
         in.close();
         return buffer.toString();
    private void DrawTable(PrintWriter out){
    try{
         try{
         // update data
         String u="update test_chinese set chinese_script=? where prod_cd=?";
         String sProd = "T1";
         PreparedStatement ps = dbCon.prepareStatement(u);
         ps.setString(1, input_data);
         ps.setString(2, sProd);
         ps.executeUpdate();
         dbCon.commit();
         catch(SQLException e){
              out.println("exception in insert: " + e.toString());
    out.println("<html>");
    out.println("<body>");
    out.println("update success!!!!");
         out.println("</body>");
    out.println("</html>");
         catch(Exception e){
         out.println("exception in servlet in statement: " + e.toString());
    private Connection ConnDB(PrintWriter out){
         try{
         try{
              JDBC(out);
         catch (Exception e) {
              out.println("Database connect failed (init)");
              out.println(e.toString());
              return null;
         dbCon = ds1.getConnection();
         catch(Exception e){
         out.println("exception in servlet in connection: " + e.toString());
    return dbCon;
    public void destroy() {
    //Close database connection
    try {
    dbCon.close();
    catch (Exception e) {
    System.out.println("Error closing database (destroy)");
    System.out.println(e.toString());

    Hi, Jenny,
    When you said unable to insert to database, do you mean you get all ? marks in the database or garbage characters in the database?
    ? marks mean there are some byte chop off, and garbage characters mean the bytes are ok, just encoding problem.
    --Lichu                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • How pass ext characters to a stored proc by odbc when enable sqlserver syntax is on??

    how pass french characters or extended characters to a stored procedure by odbc
    error: ORA-01756: quoted string not properly terminated
    une chaine entre apostrophhes ne se termine pas correctement
    oracle Retrieving extended characters thru ODBC
    PL/SQL procedure parameters
    hi, i hope you can help to me.
    I have a problem with french and german characters.
    i have a little stored procedure than return what i'm passing to him.
    see these example: (the second one work fine on plsql)
    first exemple:
    1) i created a new odbc dsn
    2) i'm going into sqlserver migration tab to choose
    Enable Exac Syntax.
    3) i'm open Winsql (this is a odbc tools)
    http://www.indus-soft.com/winsql/
    4) i'm write
    exec ksp_test 0,'HiLLO ORACLE'
    i receive this error:
    Error: ORA-01756: quoted string not properly terminated
    (State:S1000, Native Code: 6DC)
    I trying to changed too the NLS_LANG in the registry
    like FRENCH_CANADA.WE8ISO8859P1
    French_France.WE8ISO8859P1
    but without any success..
    i got the same problem with
    oracle 9 database with utf8 characters set.
    oracle 8.1.7 with iso8859p1 characters set.
    i trying all latest odbc driver from oracle website.
    second exemple:
    SQL> variable mytest refcursor;
    SQL> exec ksp_test (0,'HiLLO ORACLE',:MYTEST);
    PL/SQL procedure successfully completed.
    SQL> PRINT MYTEST;
    Your Database Value
    HiLLO ORACLE
    CREATE OR REPLACE PACKAGE KSP_PLSQLRSETPKG
    AS
    TYPE RCT1 IS REF CURSOR;
    END;
    CREATE OR REPLACE PROCEDURE KSP_TEST (
    PATCH INT DEFAULT 0,
    PONC VARCHAR2,
    RC1 IN OUT KSP_PLSQLRSETPkg.RCT1
    AS
    BEGIN
    OPEN RC1 FOR
    SELECT PONC "Your Database Value" FROM DUAL;
    FROM DUAL;
    RETURN ;
    END;
    i'm trying also different nls setting but no good result.
    AMERICAN_AMERICA.US7ASCII
    AMERICAN_AMERICA.WE8MSWIN1252
    FRENCH_CANADA.WE8DEC
    FRENCH_CANADA.UTF8
    FRENCH_CANADA.WE8MSWIN1252
    FRENCH_FRANCE.WE8DEC
    FRENCH_FRANCE.UTF8
    FRENCH_FRANCE.WE8MSWIN1252
    is working well on sqlplus but not by odbc..
    also..
    i'm declare a variable and
    i set
    v_variable := 'id'
    and the procedure return the good syntax...
    i think is a odbc driver problem....
    the driver don't want to accept a extended characters set by a parameters coming from the procedure.
    can you confirm to me ..this is a major bug for the driver..
    my procedure is very basic to make a little test.
    did you try my procedure to be sure you have the same problem?
    i try with a oracle instance utf8,WE8MSWIN1252 and
    i got always the same problem.
    if i write insert into test values ('di');
    everything is fine...but when i call the procedure...
    the procedure don't want to accept any german..french or any extended characters...
    our application is working by odbc driver.
    i'm pretty sure is a bug in the driver ...the bug is coming only when i select "ENABLE EXEC SYNTAX" IN THE DSN (SQLSERVER MIGRATION SECTION) ... i try with Shema Database and Owner and Empty and i got
    always the same problem
    exec KSP_TEST 0,'TiEST'
    ------------------------>>>>>>>NOT WORKING.
    BUT IF I WRITE
    CALL KSP_TEST (0,'TiEST')
    ------------------------->>>>IS WORKING
    if i select enable exec or i unselect enable exec...
    the CALL KSP_TEST...... is always working properly.
    BETWEEN THESE SYNTAX THE NLS_LANG IS NEVER CHANGED....
    IS WORKING.....THE NLS_LANG IS GOOD.......because i make a little modification in procedure to be sure the INSERT IS inside the database CORRECTLY.
    CREATE OR REPLACE PROCEDURE KSP_TEST
    PATCH INT,
    PONC VARCHAR2
    AS
    v_test varchar2(100);
    BEGIN
    v_test := 'test';
    INSERT INTO YYY VALUES (PONC);
    END;

    If  "just using Crystal Reports XI R2" means using Crystal Report Viewer and do not want to see the prompt, please follow the below steps.
    1. Select the report you want to see
    2. Select "Process" tab
    3. Select Parameters menu under the process tab.
    4. You would see two date parameters there.
    Select the [Empty] value for each parameter and fill out the value you want.
    Hope this would help.

  • Chinese characters copying incorrectly when saving pdfs with Preview

    So this is a very strange problem. When I save a .pdf that I have annotated in Preview, it saves fine and everything continues to display correctly. However, if I then try to copy Chinese characters from the pdf, it pastes gibberish. F'rex:
    灿烂辉煌 becomes "3456"
    and
    遇到的问题 becomes " !"
    Does anyone know what is going on and how to deal with it?

    The strange part is that initially the Chinese characters copy fine. It's only after I save the .pdf that copying goes all wonky.
    I think there is a bug related to annotation.
    Is there any way to control what encoding Preview uses when saving?
    No. PDF is the worst possible format to use for any kind of editing.
    Have you tried Adobe Reader? Or Skim?
    http://skim-app.sourceforge.net/
    Preview is not always the best option.

  • 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 show up as white boxes when doing captions

    I am using Premiere Pro CC 2014 on a late 2013 MacBook Pro. I am trying to add Traditional Chinese subtitles to my video. I have imported a .dfxp file and added it to the timeline on V2 above my video track on V1. I have rendered the timeline. I have activated the closed captioning display. When I view the .dfxp file in the Captions Window, I can see the Chinese characters in the text boxes with their associated in and out points on the timeline. THE PROBLEM: IN THE PROGRAM MONITOR WINDOW, THE CHINESE CHARACTERS SHOW UP AS WHITE BOXES INSTEAD OF THE CHINESE CHARACTERS.
    I have added all of the available Chinese fonts from Adobe Typekit. I have restarted Premiere to see if adding these fonts did anything to help. It did not. My question: how can I get the Chinese characters to appear instead of the white boxes?
    Here's what it looks like:

    Thanks for the post -- I'd file a bug report on this.

  • Copy/Paste Bug (Chinese Characters Added)

    Hi everyone,
    I'm not sure what is going on but recently, when I copy/paste something on my MacBook Pro, running the latest Mavericks, it sometimes appends some weird Chinese characters at the end of it. It will only show up sometimes and only in certain programs (such as copying URLs).
    This worries me very much for some obvious reasons. I don't have Chinese enabled, the characters are not always the same, and I have absolutely no idea why it is doing this.
    Any suggestions? Is this some weird but known bug? Am I the victim of some sort of spyware? Any suggestions as to what I should use to try to track this down? A quick google search turned nothing up.
    I would demonstrate the bug here but it isn't currently reproducing the problem. As I said earlier: It's rather intermittent.
    Any help or suggestions would really help me out.
    Thanks.

    I doubt anyone can help without a screen shot of what you are seeing.  Come back when you have one.  In the meantime I would not worry, it is most likely some kind of encoding glitch.  You don't have to "enable" a language to have it displayed on your screen, OS X automatically does that.

  • Chinese characters scrambled when loading from DS to BW

    Hi, I've been pulling my hair out with this issue.
    I have a flat file containing Chinese text. When I load this in BW using 'FLATFILE' as a source system, it works fine. BW shows the correct Chinese characters.
    When I do the same load using BODI, I get funny characters.
    When I use BODI to load from one flat file into another flat file, the Chinese characters remain correct.
    What do I need to do to make sure I get the right Chinese characters in BW when loading from BODI?
    BODI is installed on Unix on Oracle 10.
    I run the jobs as batch processes.
    The dsconfig.txt has got:
    AL_Engine=<default>_<default>.<default>
    There are no locale settings in al_env.sh
    BW target is UTF-8 codepage.
    File codepage is BIG5-HKSCS
    BODI is set up as a Unicode system in SAP BW.
    When loading flat file to flat file, I get a message:
    DATAFLOW: The specified locale <eng_gb.iso-8859-1> has been coerced to <Unicode (UTF-16)
    because the datastore <TWIN_FF_CUSTOMER_LOCAL> obtains data in <BIG5-HKSCS> codepage.
    JOB: Initializing transcoder for datastore <TWIN_FF_CUSTOMER_LOCAL> to transcode between
    engine codepage<Unicode (UTF-16)>  and datastore codepage <BIG5-HKSCS>
    When loading to BW the messages are almost the same, but now the last step in UTF-16 to UTF-8.
    I read the wiki post which definitely helped me to understand the rationale behind code page, but now I ran out of ideas what else to check ( http://wiki.sdn.sap.com/wiki/display/BOBJ/Multiple+Codepages )
    Any help would be greatly appreciated.
    Jan.

    Hi all. Thanks for the Inputs. This is what I got when I clicked on the Details Tab of the Monitor....
    Error when transferring data; communication error when analyzing
    Diagnosis
    Data packages or InfoPackages are missing in BI but there were no apparent processing errors in the source system. It is therefore probable that there was an error in the data transfer.
    The analysis tried to read the ALE outbox of the source system. This lead to error .
    It is possible that there is no connection to the source system.
    Procedure
    Check the TRFC overview in the source system.
    Check the connection to the source system for errors and check the authorizations and profiles of the remote user in both the BI and source systems.
    Check th ALE outbox of the source system for IDocs that have not been updated.

  • When calling report in forms, only html format can show chinese characters

    To all experts,
    When I run report by calling run_report_object() in forms, only html format can show chinese characters. If I choose pdf format, garbage characters were shown instead of chinese characters. My settings on server are as follows:
    NLS_LANG=TRADITIONAL CHINESE_HONG KONG.UTF8
    FORMS60_REPFORMAT=PDF
    Do you know why? I hope to print report in PDF format as PDF turned out to be more regular in format. Is there any additional settings required?
    May experts here broaden my mind?
    Richard

    Assuming that you are using version 6i, try using Oracle9i Reports it has support for multi-byte in PDF.
    By the way, Reports questions will get better response if you send them on the reports forum.

Maybe you are looking for

  • Urgent: Error while generating large report

    I'm getting below error when I executing the report for long time duration. The below report is executing only for one or two days. Please let me know how to resolve this error. This is very urgent.

  • IPod Mini Compatibility with USB 1.1 (Please help!)

    Hello. I'm turning 21 in a few days and am away at college... my parents, while divorced, decided to join forces to buy me a really nice gift for my 21st birthday... a brand new iPod Mini. My mom attempted to get me a Nano, she tells me, but they wer

  • To change Default Setting of Selection Screen while Filtering on infoobject

    Dear Guru's, I just want to know where can I change the Deafult Setting from 100 to 500 which we get in the Selection Screen when we want to Filter on Info-Object level in the Workbook. Hope this will clear the question , incase any further informati

  • Color profiles on LCD

    I've been trying to set a custom color profile for my macbook pro LCD display from Adorama. I downloaded the icc and it shows up in color sync utility but I can't get it to select on the system preferences>displays selection screen. Does anyone know

  • DW CS3 fireworks table edit

    DW CS3 fireworks table edit opens Fw, but fw doesn't show the .png file correctly.(I can't see the changes on the content areas that I made in DW) If I attach a behaviour (eg. rollover effect) to the file, it works properly in fw. After pressing the