International characters in canonical document

I’m having an issue with my canonical document having fields that contain international characters such as French.

The data stored in the table field varchar2(60) as “Lire la fiche produit relative à la future génération d’inte”.

When I query this record from the table and map this field to a canonical document, the document string shows as a 62-char “Lire la fiche produit relative à la future génération dâinte”.

Is there any configuration setup that will handle the proper characters in the document to display this string as it shows in the record? Please help.


What tool are you using to view the string? It most likely is simply a display issue and the data within is fine.

However, you’ll want to make sure you’re using the appropriate character set at each step along the integration path.

The canonical document string is display in the server log.
Description=Lire la fiche produit relative à la future génération dâinte,AddressLine1=12, rue Léon Lava

When this string description is mapped to a record field of varchar2(60), it fails the insert with error ORA-12899: value too large for column TABLE.description (actual: 65, maximum: 60).

This would indeed indicate that it is a display issue–the viewer (Notepad, whatever) is likely unable to display other character sets. So the data is correct but the viewer/editor is assuming the wrong character set.

The length issue undoubtedly due to double-byte characters. So character-wise the string fits the limit, but byte-wise it does not. The DB max length is bytes, not chars. If truncating the string is acceptable then you can do that–but you’ll need to test the length of the resulting bytes, not chars. There is code on the web that can help with that.

I obtained the published canonical and indeed the data was stored correctly as “Lire la fiche produit relative à la future génération d’inte”. However the error occured when it was mapped and inserted into a table column of varchar2(60).

For the short term solution, I truncated the field before the insert.

Thanks for your help.