Page 1 sur 1

executer un script php en EN-UTF8

Posté : lun. 05 mars 2018, 17:57:05
par manae
Bonjour,

j'utilise php-cli pour executer des script php en environnement ISERIE DB2.
Est-il possible d'avoir un point pour les valeurs decimales et coder les chaines alpha en UTF8 pour faciliter les insert into dans les fichiers?

Merci de vos réponses.

php-cli

Posté : ven. 09 mars 2018, 17:21:00
par cmasse
Bonjour,

vous lancez php-cli depuis QSH ?

comment vous connectez vous ? normalement dans la chaine de connexion on peut indiquer des paramètres comme le format de la date ou la marque décimale...

pour l'UTF-8, php tourne sous pase, donc en ASCII unix (CCSID 819), c'est de l'unicode pour quel jeu de caractères ?

Posté : lun. 12 mars 2018, 08:56:02
par manae
Bonjour,

Je lance php avec un call QP2SHELL + chemin du script et paramètres.
Tout est en français, les dates, ainsi que les numeriques avec une virgule au lieu d'un point.
L’inconvénient est pour les sql insert dans le script et les includes/require qui ont besoin de "tourner" avec des points pour les décimales.

Cordialement.

Posté : lun. 12 mars 2018, 11:48:15
par cmasse
Le paramétrage étant lié à la connexion, il me semble difficile d'avoir une partie du traitement avec la virgule et une autre partie avec le point....

Posté : jeu. 15 mars 2018, 09:57:44
par manae
Bonjour,

je ne suis pas arrivé à changer ce paramétrage pour un script en utilisant setlocale.

Cordialement

Posté : ven. 16 mars 2018, 15:28:55
par manae
Bonjour

Si je lance ce script sur l'iserie .....

Code : Tout sélectionner

<?php
$conn = db2_connect&#40;'SYSTEM2', 'XXXX' , 'XXXX' &#41;;

//Create the test table
$create = 'CREATE TABLE mabib.animaux &#40;id INTEGER, race CHAR&#40;32&#41;,
	nom CHAR&#40;16&#41;, poids DECIMAL&#40;7,2&#41;&#41;';
$result = db2_exec&#40;$conn, $create&#41;;
if &#40;$result&#41; &#123;
	print "La table a été créée correctement.\n";
&#125;
//Remplit la table de test
$animaux = array&#40;
 array&#40;0, 'chat', 'Pook', 3.2&#41;,
 array&#40;1, 'chien', 'Peaches', 12.3&#41;,
 array&#40;2, 'cheval', 'Smarty', 350.0&#41;,
 array&#40;3, 'cyprin doré', 'Bubbles', 0.1&#41;,
 array&#40;4, 'perruche', 'Gizmo', 0.2&#41;,
 array&#40;5, 'chèvre', 'Rickety Ride', 9.7&#41;,
 array&#40;6, 'lama', 'Sweater', 150&#41;
&#41;;

foreach &#40;$animaux as $animal&#41; &#123;
 $poids=$animal&#91;3&#93;;
 $animal1=$animal&#91;1&#93;;
 $rc = db2_exec&#40;$conn, "INSERT INTO mabib.animaux &#40;id, race, nom, poids&#41;
   VALUES &#40;&#123;$animal&#91;0&#93;&#125;, '&#123;$animal1&#125;', '&#123;$animal&#91;2&#93;&#125;', &#123;$poids&#125;&#41;"&#41;;
&#125;
db2_close&#40;$conn&#41;;
?>
la table est bien créée, mais seulement 2 enregs sont insérés (cheval et lama).

Cordialement,