Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonsoir,
J'essaye d'afficher un prix en euro avec le zend_currency mais je n'arrive pas obtenir la monaie €, j'otiens ca à la 100 €
J'ai bien mis setlocale(LC_ALL, 'fr_FR') ; dan smon bootstrap
Voici le code de 2 ligne :
$currency = new Zend_Currency('fr_FR'); echo $currency->toCurrency(100); // retourne 100 €
J'ai essayé aussi :
$currency = new Zend_Currency('EUR'); echo $currency->toCurrency(100); // retourne 100 €
J'obtiens la meme chose.
J'ai manqué quelque chose ?
Hors ligne
Je prefere pas, sinon je vai sm'embeter avec les "é" etc... J'ai resolu le probleme tout simplement en abandonnat . J'ai opté pour la fonction monney_format() de php que je ne connaissais pas et ca me va.
Mais j'aimerais bien savoir si c'est bien un bug ou un problème d'encodage comme tu le dis.
Merci d'avoir répondu.
++
Hors ligne
Mon header :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <title><?php echo $this->title; ?></title> <meta name="Language" content="FR" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta http-equiv="content-language" content="fr" />
Je teste avec ce code
$currency = new Zend_Currency('fr_FR'); echo $currency->toCurrency(100); // retourne 100 € $currency2 = new Zend_Currency('en_US'); echo $currency2->toCurrency(100); // retourne $ 100
J'aimerais savoir si chez vous ca marche au moins ? C'est juste pour savoir si c'est un bug ou pas et le rapporté. Comme je l'ai dit je suis passé par monney_format ensuite je rajoute €.
Hors ligne
Bah non toujours pas, j'ai testé sur une page seul, le fichier est enregistré en utf-8, voici le code :
<?php define('DIR_LIBRARY','../library'); setlocale(LC_ALL, 'fr_FR'); error_reporting(E_ALL|E_STRICT); date_default_timezone_set('Europe/Paris'); // Include path set_include_path('.' . PATH_SEPARATOR . DIR_LIBRARY . PATH_SEPARATOR . get_include_path()); require_once 'Zend/Loader.php'; Zend_Loader::loadClass('Zend_Currency'); $currency = new Zend_Currency('fr_FR'); echo $currency->toCurrency(100); ?>
Quel est la difference entre $ et € ? Parce que pour les dollars k'ai bien $ mais pas pour les euros
Hors ligne
Perso, j'ai essayé ceci ce weekend et si je me souvient bien du code :
Dans mon html j'ai un charset: UTF-8
Dans mon code j'ai
$currency = new Zend_Currency('EUR', null, 'fr_FR'); $currency->setEncoding('UTF-8'); echo $currency->toCurrency(1000.7);
Dernière modification par Seb (26-11-2007 08:39:05)
Hors ligne
Fatal error: Call to undefined method Zend_Currency::setEncoding() in
++
Hors ligne
Oups j'ai confondu avec Zend_Filter que j'ai essayé aussi ce weekend
Le code que j'ai est :
$currency = new Zend_Currency('EUR', null, 'fr_FR'); echo $currency->toCurrency(1000.7);
Hors ligne
<?php define('DIR_LIBRARY','../library'); setlocale(LC_ALL, 'fr_FR'); error_reporting(E_ALL|E_STRICT); date_default_timezone_set('Europe/Paris'); // Include path set_include_path('.' . PATH_SEPARATOR . DIR_LIBRARY . PATH_SEPARATOR . get_include_path()); require_once 'Zend/Loader.php'; Zend_Loader::loadClass('Zend_Currency'); $currency = new Zend_Currency('EUR', null, 'fr_FR'); echo $currency->toCurrency(100); ?>
Ehhhhhhhhhhhhhhhhhhhhh, nan.
Non plus, ma page est sauvegardé en utf-8 avec gedit. J'ai essayé avec FF et IE. Mais je ne comprends pas ce qu'il y'a comme différence entre $ et €, je répètre que pour $ ca marche.
Hors ligne
Bonjour,
alien7 a écrit:
Mais je ne comprends pas ce qu'il y'a comme différence entre $ et €, je répètre que pour $ ca marche.
$ est très vieux, € beaucoup moins
J'ai le même problème que toi, mais pour la génération de PDF avec FPDF, qui ne gère pas l'UTF-8 donc ... normal. J'ai corrigé le tir en faisant un chr(128) qui correspond au fameux symbole, sauf que pour toi ca risque d'être moins simple. Dans ton cas, je tenterai un :
echo utf8_decode($currency->toCurrency(100));
Il s'agit ici d'une manoeuvre désepéré, et non d'un fonctionnement normal, je préfère te prévenir. En plus, ce n'est même pas sûr que ca marche ...
Geoffrey
Hors ligne
Ah très bien, je comprendss mieux. Merci pour l'explication Geoffrey
Je reste donc avec la fonction PHP monney_format().
Merci aussi Seb pour m'avoir aidé.
++
Hors ligne