Page 1 sur 1

Encodage caractères d'un résultat de procédure cataloguée

Posté : mer. 11 mai 2011, 17:18:33
par cimmelé
Bonjour,

Nous avons mis en place des dialogues entre notre site et le system i au moyen de procédures cataloguées lancées par l'application Web et exécutées côté "400".

Les données qui en résultent ne sont pas au format UTF-8. Par conséquent, aucun caractère accentué n'est visible.

Quels paramètres de l'OS/400 (ou de SQL ou du driver ODBC) pourraient impacter ce fonctionnement :?:

Merci par avance,

driver ODBC et CCSID

Posté : lun. 16 mai 2011, 05:59:16
par cmasse
Bonjour,

sous quelle plateforme tout cela fonctionne-t-il ? Linux, Windows ?

quelle est la valeur de QCCSID, le CCSID du fichier physique manipulé ?

(sans texte)

Posté : lun. 16 mai 2011, 10:23:17
par cimmelé
Bonjour,

L'application Web fonctionne sur une version Debian.

Il y a plusieurs tables utilisées sur le system i et les résultats sont générés par le biais d'une procédure cataloguée et la génération d'une data structure avec des occurences (procédé classique).

Les données en question proviennent d'une table avec un ccsid 297 (ainsi que les autres tables utilisées dans la procédure cataloguée)

driver ODBC pour Linux

Posté : mer. 18 mai 2011, 09:03:04
par cmasse
Bonjour,

les versions récentes de linux sont installées par défaut en UTF-8, le driver ODBC utilise alors la routine iconv() pour faire les conversions.

certaines implémentation de iconv() semblent bugées, je conseille alors d'essayer cela :

Code : Tout sélectionner

if (PHP_OS == "Linux") {
        setlocale(LC_ALL, 'fr_FR') ;
    }


(sans texte)

Posté : mer. 18 mai 2011, 13:50:37
par cimmelé
Merci, je transmets ce point et ferai un retour sur cette résolution (ou non)