Aide - Recherche - Membres - Calendrier
Version complète : AMFPHP 1.9 et les accents
Centre de Formation Flash - Forums Adobe Flash > Rich media et intégration > Flex
phiphou
Bonsoir,

Bon bah tout est dans le titre...

Je n'arrive pas à rentrer dans ma bd sql des champs accentués...ils apparaisent dans ma bd en utf-8. Pourtant, j'ai essayé tous les modes charset d'amfphp...Bien sur, je peux decoder manuellement mon texte avant de le rentrer dans ma bd, mais avec amfphp1.2 je ne faisais rien et ça marchait....Ce problème vient il du fait que cette version est toujours en beta ?

Pour faire simple, si quelqu'un à un peu de tps, qu'il teste donc ça : Un champ input sous flex, un remote object qui appelle une methode insert2db en lui passant un objet user (avec une propriété qui prendra la valeur du champ imput) lié a un objet userVO.php (classmapping). Cette methode insere ce champ dans une bd sql, avec accents.

Merci d'avance.

PS: il parait (google) qu'il y a un passage sur le site d'amfphp qui parle de ce problème, mais le site est rarement accessible en ce moment...
Tonic
Salut,

je ne sais pas si c'est une bonne idée de se précipiter sur la béta de amfphp, même si déjà, elle annonce de bien belles choses...

Bref, as tu testé ton service dans le browser, en lui passant une chaîne accentuée, et en regardant ce qui est inséré dans ta bdd?

CITATION

Pour faire simple, si quelqu'un à un peu de tps, qu'il teste donc ça : Un champ input sous flex, un remote object qui appelle une methode insert2db en lui passant un objet user (avec une propriété qui prendra la valeur du champ imput) lié a un objet userVO.php (classmapping). Cette methode insere ce champ dans une bd sql, avec accents.


Le plus simple, c'est que tu postes ton services, et un bout de code AS (ou mxml) associé.
pierre1405
J'ai du mal a voir en quoi le fait que le fait que ta base enregistre des champs en UTF-8 pose un probleme pour les accents?
Est ce que le charset de ton client et de ton backoffice est le meme ?
Quel est le charset des champs de ta base ?
As tu essayer la requete mysql ( je ne connais pas ton SGBD ) "SET NAMES 'toncharset'" avant insertion et select sur ta base ?

phiphou
Merci pour vos réponses....

Malheureusement je n'ai absolument pas le tps aujourd'hui...je vous dis ça ce week end
Atila67
Alors
Tu actives dans le gateway.php le charset utf8 version europe.
Dans ton php quand tu réceptionnes la variable il faut utiliser la fonction utf8_decode().
Et dans ton phpmyadmin, choisi bien l'interclassement latin_general.
phiphou
CITATION(Atila67 @ Apr 11 2007, 05:34 PM) *
Alors
Tu actives dans le gateway.php le charset utf8 version europe.
Dans ton php quand tu réceptionnes la variable il faut utiliser la fonction utf8_decode().
Et dans ton phpmyadmin, choisi bien l'interclassement latin_general.


Oui, j'avais trouvé ça...merci quand meme...ce qui me saoule, c'est qu'avec AMFPHP1.2, on n'était pas obligé de décoder l'utf8 "à la main"...
phiphou
La solution est toute bête en fait :
CODE
$gateway->setCharsetHandler( "utf8_decode", "UTF-8", "latin1" );

Pour infos, vous trouverez sur mon blog un tutorial complet sur AMFPHP 1.9.

Voilà... icon_cool.gif
phiphou
Une autre piste de la part de quelqu'un qui ma contacté à ce sujet :

CITATION
Cela viendrait de l’extension en C ’amfext-0.8.7a’ car si on désactive l’extension dans le fichier core/shared/app/Globals.php

$amfphp['native'] = false;

Ca marche !

J’ai vu sur le site de l’auteur une version Bêta qui apparemment corrige le problème

http://www.teslacore.it/wiki/index.php?tit...#0.9_.28beta.29


Mais on perd alors les avantages de cette extension, à savoir un décodage ultra-rapide.

Vivement AMFPHP2.0 icon_lol.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.