Bonjour,
Nous utilisons le connecteur ODBC linux vers l'IBMI, pour des applications web en PHP avec un serveur web Aapche externe. Nous avons également des applications qui fonctionnent avec Zend et nous n'avons pas ce problème.
Avec le driver ODBC, nous avons des problèmes au moment de l'insert ou de l'update,
Un petit exemple tout simple, ma table a un champ de taille 30 en alpha, si on essaye d'insérer depuis le PHP "MON TEXTE QUI ARRIVE A LA FIN°", l'insert va planter car le degré va prendre deux places au lieu de une. (Le CCSID de la table est en 297)
Voici le paramétrage que nous utilisons pour se connecter en ODBC depuis PHP :
new PDO("odbc:DRIVER={IBM i Access ODBC Driver};System=IP_IBMI;PORT=50000;DATABASE=XXXXX;PROTOCOL=TCPIP;UID=USER;PWD=PASSWORD;CCSID=1208;DEBUG=524286;", "", "");
Quelqu'un a t'il déjà rencontrer le problème ?
Vous en remerciant.
ODBC et caractères spéciaux
-
- Messages : 10
- Enregistré le : lun. 10 déc. 2012, 10:27:16
Re: ODBC et caractères spéciaux
Bonjour,
A moins que je fasse une grosse erreur, tu as indiqué un CCSID 1208, soit de l'UTF-8.
Le caractère ° sera donc écrit sur 2 octets.
A moins que je fasse une grosse erreur, tu as indiqué un CCSID 1208, soit de l'UTF-8.
Le caractère ° sera donc écrit sur 2 octets.
-
- Messages : 10
- Enregistré le : lun. 10 déc. 2012, 10:27:16
Re: ODBC et caractères spéciaux
Bonjour,
Merci pour votre réponse,
Il faudrait que je mette quoi comme CCSID pour que cela reste compatible avec l'UTF-8 en mode web ?
Merci
Merci pour votre réponse,
Il faudrait que je mette quoi comme CCSID pour que cela reste compatible avec l'UTF-8 en mode web ?
Merci
Re: ODBC et caractères spéciaux
Pour moi le CCSID par défaut est très bien, c'est le système qui fera la conversion.
L'idéal serait que les tables utilisent toutes l'UTF-8. Mais bon, on sait que ce n'est pas souvent possible.
Si en PHP on a des problèmes de conversion, il faut traiter les champs avec UTF8_encode et UTF8_decode.
L'idéal serait que les tables utilisent toutes l'UTF-8. Mais bon, on sait que ce n'est pas souvent possible.
Si en PHP on a des problèmes de conversion, il faut traiter les champs avec UTF8_encode et UTF8_decode.
-
- Messages : 10
- Enregistré le : lun. 10 déc. 2012, 10:27:16
Re: ODBC et caractères spéciaux
Bonjour,
Si cela peut aider quelqu'un,
nous avons réussi à résoudre le problème en mettant à jour les drivers ODBC avec la dernière version depuis le site IBM.
Nous sommes passés de la version ibm-access-1.1.0.14-1.0 vers ibm-iaccess-1.1.0.27-1.0.
Depuis, l'insertion, la modification avec les caractères spéciaux ne pose plus aucun problème.
Si cela peut aider quelqu'un,
nous avons réussi à résoudre le problème en mettant à jour les drivers ODBC avec la dernière version depuis le site IBM.
Nous sommes passés de la version ibm-access-1.1.0.14-1.0 vers ibm-iaccess-1.1.0.27-1.0.
Depuis, l'insertion, la modification avec les caractères spéciaux ne pose plus aucun problème.