Bonjour,
Je me connect à un AS400 depuis PHP grace à iseriesAccess en ODBC. Tout marche bien. Je viens de changer de serveur (pour un plus récent) et forcément ça déconne ;-)
- Si je test une requête vers l'AS400 en ligne de commande sur le nouveau serveur (isql -v) tout marche bien.
- dans une page PHP je me connect par ODBC à mon AS400, j'arrive à afficher l'ensemble des résultat grâce à odbc_result_all.
Par contre dès que j'utilise odbc_result ou odbc_fetch_array, ça ne fonctionne plus à partir du moment ou dans mon résultat il y a un caractère bizard (si il y a des caractère standard ça marche). Par exemple si je demande d'afficher le résultat "TEST" ça marche, par contre si c'est "COMMANDE N°2" ca ne marche plus.
Ca m'affiche quelques chose de ce genre :
C'est vraiement étrange. J'ai l'impression qu'il m'affiche la bonne information (COMMANDE N°2), mais avec un message d'erreur mal encoder derrière ? et le prire, c'est que si je rafraichi ma page, il y a certains des caractères bizards qui changent, et puis au bout de 2 ou 3 rafraichissements ça ne change plus.COMMANDE N°2�a÷ü-���5����������´þX���������ýX�����������~���-���`èX������5������„·*?���ÔþXþX����|ýXÀùX����result�È���”���5���ÿX����������1��������������������������������DÿX°˜�� )���1��������������������������������������)�������@��������M�����COMMANDE N°2
Ca fait 2 jours que je suis dessus, j'ai tout essayé mais là je bloque (résinstallation des drivers iseries, test en utf-8, iso, encode_utf8...). Ce qui est vraiement étrange c'est que ça marche parfaitement sur un autre serveur, et que si j'affiche mon résultat avec "odbc_result_all" ça fonctionne. Mais ça ne marche pas avec un odbc_fetch_array pour récupérer ligne par ligne.
Je me demande si ça ne serait pas un problème d'incompatibilité avec php-odbc qui serait trop résent ? Ou un réel problème d'encodage et ma page PHP serait mal interpréter.
Quelqu'un aurait-il déjà eu ce genre de problème ou une idée ?
Merci à vous !
;-)
Partager