Arabic fields returning "######" or "????????"

  • I'm working on an English/Arabic program in Visual Basic. When I retrieve data from SQL Server 2000, instead of displaying on screen the proper Arabic characters, it displays ##### or ??????? characters. How can I display it correctly. My computer is properly configured to display Arabic characters. Please help..

  • What do you mean "When I retrieve data from SQL Server 2000"?

    Using which application?

    _____________
    Code for TallyGenerator

  • What you are getting is called character conversion you need to use Nvarchar with Arabic collation for the columns and tables you are using to store the Arabic text.  I have posted some Arabic collation related info in the thread below. Hope this helps.

    http://www.sqlservercentral.com/forums/shwmessage.aspx?forumid=230&messageid=357088

    Kind regards,
    Gift Peddie

  • It's an application written in Visual Basic. This application integrates data from SAP to the Route Trak data which is in SQL Server 2000. This application extracts data from SAP through a procedure in SAP called BAPI. The whole operation is like this:

    1. SAP maintains data and stores it in SQL Server 2005. The data is in good Arabic when displayed on SAP screens.

    2. My application connects to SAP, then request for data through BAPI.

    3. BAPI extracts data from SQL Server 2005 then returns it back to my application.

    4. My application displays the data and stores it to the Route Trak database.

    I'm getting the garbage output from step 3.

    I did a research from Microsoft Middle East and I learned that the cause of the problem could be in SQL Server. The data is stored in a non-unicode field. The data type of the field must be nvarchar, nchar or ntext. But we could not check it nor change the field type in SAP since it is a closed application.

    So, from my point of view, my problem is how to convert this garbage characters into a readable Arabic characters. It's something like using the built in functions of visual basic and Windows API like ANSItoOEM function but I haven't tried this yet and I'm not sure if this will work. Do you have any idea about this? Any sample codes in VB? Please help.

    Thanks a lot.

     

    AGUSTIN BASILIO

     

     

     

     

  • It's an application written in Visual Basic. This application integrates data from SAP to the Route Trak data which is in SQL Server 2000. This application extracts data from SAP through a procedure in SAP called BAPI. The whole operation is like this:

    1. SAP maintains data and stores it in SQL Server 2005. The data is in good Arabic when displayed on SAP screens.

    2. My application connects to SAP, then request for data through BAPI.

    3. BAPI extracts data from SQL Server 2005 then returns it back to my application.

    4. My application displays the data and stores it to the Route Trak database.

    I'm getting the garbage output from step 3.

    I did a research from Microsoft Middle East and I learned that the cause of the problem could be in SQL Server. The data is stored in a non-unicode field. The data type of the field must be nvarchar, nchar or ntext. But we could not check it nor change the field type in SAP since it is a closed application.

    So, from my point of view, my problem is how to convert this garbage characters into a readable Arabic characters. It's something like using the built in functions of visual basic and Windows API like ANSItoOEM function but I haven't tried this yet and I'm not sure if this will work. Do you have any idea about this? Any sample codes in VB? Please help.

    Thanks a lot.

     

    AGUSTIN BASILIO

     

     

     

     

  • Hi,

    Select the Regional and Language options from control panel. Select Language uner Language for non-unicode program under Advance tab as Arabic(Saudi Arabia). Your screen will be ok.

    Ravi

     

  • 2 things need to be happen here.  First item is what Gift Peddie says, your sql server needs to be able to store non-unicode characters and the second is what Ravi says, your windows machine needs to be able to display the language on your screen.

  • I can't imagine that SAP doesn't have other Arab/English customers.  Perhaps you need an international version of their DLL?  And SAP should be able to modify your table structures to support Unicode, that's why you pay them buckets of money for maintenance.

    -----
    [font="Arial"]Knowledge is of two kinds. We know a subject ourselves or we know where we can find information upon it. --Samuel Johnson[/font]

Viewing 8 posts - 1 through 7 (of 7 total)

You must be logged in to reply to this topic. Login to reply