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,
Encodage caractères d'un résultat de procédure cataloguée
-
- Site Admin
- Messages : 813
- Enregistré le : mer. 14 févr. 2007, 18:00:03
- Localisation : Nantes
- Contact :
driver ODBC et CCSID
Bonjour,
sous quelle plateforme tout cela fonctionne-t-il ? Linux, Windows ?
quelle est la valeur de QCCSID, le CCSID du fichier physique manipulé ?
sous quelle plateforme tout cela fonctionne-t-il ? Linux, Windows ?
quelle est la valeur de QCCSID, le CCSID du fichier physique manipulé ?
Christian Massé (Volubis.fr)
-
- Messages : 34
- Enregistré le : mer. 28 mars 2007, 21:57:59
- Localisation : Rennes(35)
- Contact :
(sans texte)
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)
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)
-
- Site Admin
- Messages : 813
- Enregistré le : mer. 14 févr. 2007, 18:00:03
- Localisation : Nantes
- Contact :
driver ODBC pour Linux
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 :
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') ;
}
Christian Massé (Volubis.fr)
-
- Messages : 34
- Enregistré le : mer. 28 mars 2007, 21:57:59
- Localisation : Rennes(35)
- Contact :
(sans texte)
Merci, je transmets ce point et ferai un retour sur cette résolution (ou non)