Skip to Content

Euro symbols issue changing ASAProv.90 to SAOLEDB.16

Hi all,

I am facing a strange beahviour during migration test in order to upgrade from IQ 12.7 to IQ 16.0 SP08.

Looking the data into the DB they are equal in both instances, but when an extrnal software try to extract them to an XML files I obtain two different results. The external software uses an ADODB connection.

The problem seems to be related to the EURO symbol (€).

While in OLD setup the XML output file shows always the '€' symbol, in the NEW setup I have sometimes the '€' symbol and some other times an ASCII character showed as SUB in notepad++ instead the '€' symbol.

The strange thing is that apparently I have different behaviour for the same original data.

Herefater I report our configurations:

** OLD ** Sybase IQ 12.7 ESD 4

Collation ISO_BINENG

Provider = ASAProv.90

** NEW ** SAP IQ 16.0 SP08 PL30

DefaultCollation ISO_BINENG

DefaultNcharCollation UCA

Provider = SAOLEDB.16



Do you have any suggestion about how to fix this very strange issue?



Best regards,

Stefano

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

2 Answers

  • Jun 04, 2015 at 03:28 PM

    Stefano,

    Technically speaking, the ISO_BINENG is based on ISO-1 (ISO-8859-1). ISO-1 does not have the euro symbol in it. From a database perspective, you would need to use ISO-15 (ISO-8859-15) to get this symbol.

    ISO/IEC 8859-15 - Wikipedia, the free encyclopedia

    Sometimes, however, you can trick this into working by having the client system do the conversion from the ISO-1 to ISO-15 symbols. So long as what is stored in the database is a hex A4 (0xA4), then an ISO-15 client should be able to see it as a euro symbol.

    Likely what was happening is that the new provider and that computer are doing a straight representation of the data from the database of ISO-1 back to a client of ISO-1 (or something similar).

    Just out of curiosity, can you use the old driver against the new server? If so, do you get expected behavior?

    The SUB placeholder in notepad++ is just that. It is a placeholder or a "substitute" character. Basically, notepad++ can't read and understand the binary value at that location and will simply put SUB in it's place. What you should do is run the file through a binary editor to see what the binary value is of the SUB placeholder. Something like 'od' on Unix/Linux with the -x and -c options would be a good start.

    Mark

    Add comment
    10|10000 characters needed characters exceeded

  • Jun 04, 2015 at 03:37 PM

    Hi Mark,

    I understood the ISO-1 --> ISO-15 note, but the idea during the migration is to maintain the same collation that I have in the original IQ 12.7 system. So that I don't change it and I use ISO_BINENG also for IQ16.

    I can try to use "ASAProv.90" driver to connect to SAP IQ 16, but from last test it is working.

    But the strange thing if that not all the '€' symbol disappeared showing the SUB placeholder, only a small subset. How can it be?

    Stefano

    Add comment
    10|10000 characters needed characters exceeded