executer un script php en EN-UTF8

configuration Apache, Zend et PHP , Web services
Répondre
manae
Messages : 58
Enregistré le : mar. 21 juin 2011, 07:08:24

executer un script php en EN-UTF8

Message 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.

cmasse
Site Admin
Messages : 725
Enregistré le : mer. 14 févr. 2007, 18:00:03
Localisation : Nantes
Contact :

php-cli

Message 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 ?
Christian Massé (Volubis.fr)

manae
Messages : 58
Enregistré le : mar. 21 juin 2011, 07:08:24

Message 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.

cmasse
Site Admin
Messages : 725
Enregistré le : mer. 14 févr. 2007, 18:00:03
Localisation : Nantes
Contact :

Message 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....
Christian Massé (Volubis.fr)

manae
Messages : 58
Enregistré le : mar. 21 juin 2011, 07:08:24

Message par manae »

Bonjour,

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

Cordialement

manae
Messages : 58
Enregistré le : mar. 21 juin 2011, 07:08:24

Message 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,

Répondre