est valable à condition que cette chaine $string soit codée en
"Latin2", c'est-à-dire "ISO-8859-2" si je ne me trompe pas.
Or, la chaine $string dont je dispose, est codée au départ en
"ISO-8859-1", et j'obtiens bien des caractères bizarre vaguement
orientaux, quand il y a un e accent grave ( è ) dans la chaine $string ,
sans conversion par iconv.
Le PHP Manual recommande donc, de convertir $string avec la fonction
iconv(), et un exemple est donné par les Américains qui laissent des
commentaires, avec cette fonction: $text = iconv("ISO-8859-1", "Latin2",
$string);
( Avec un autre jeu de codage en input que "ISO-8859-1" , mais celà
revient au même. )
Or, quand je soumet la variable $string à cette instruction, le texte
en sortie est la chaîne vide...
Quel que soit le contenu de $string, la variable $text n'affiche rien
sur l'image, qui par ailleurs s'affiche bien..
J'ajoute, que je donne la valeur 3 à la variable $font lors de
l'appel à imagestring($image, $font, $x, $y, $text, $color);
D'où ma question, peut-être plus générale:
Comment avec imagestring(), afficher du texte codé en "ISO-8859-1"
avec les accents, alors que imagestring() suppose que la chaîne devant
s'afficher, est en "Latin2" ?
Merci beaucoup de vos réponses.
Bien à vous.
Amicalement.
Jean-François Ortolo
--
Visitez mon site gratuit donnant des Statistiques,
des Pronostics et des Historiques Graphiques
sur les Courses de Chevaux:
http://www.pronostics-courses.fr/
est valable à condition que cette chaine $string soit codée en "Latin2", c'est-à-dire "ISO-8859-2" si je ne me trompe pas.
Or, la chaine $string dont je dispose, est codée au départ en "ISO-8859-1", et j'obtiens bien des caractères bizarre vaguement orientaux, quand il y a un e accent grave ( è ) dans la chaine $string , sans conversion par iconv.
Le PHP Manual recommande donc, de convertir $string avec la fonction iconv(), et un exemple est donné par les Américains qui laissent des commentaires, avec cette fonction: $text = iconv("ISO-8859-1", "Latin2", $string);
La conversion échouera au premier caractère inexistant dans Latin2 (le è en est un exemple). Tu peux tenter une conversion approximative : $text = iconv("ISO-8859-1", "Latin2//TRANSLIT", $string); mais le è devrait alors perdre son accent.
Or, quand je soumet la variable $string à cette instruction, le texte en sortie est la chaîne vide...
Normal si le premier caractère est un è, un à, un ê, etc.
Comment avec imagestring(), afficher du texte codé en "ISO-8859-1" avec les accents, alors que imagestring() suppose que la chaîne devant s'afficher, est en "Latin2" ?
<cit.> The built-in fonts used to be in latin-2 (iso8859-2) encoding. For some time, they are in latin-1 (iso8859-1) encoding. There is no way to change the encoding at all. If you need to use any other encoding, you have to use TrueType fonts. </cit.>
est valable à condition que cette chaine $string soit codée en
"Latin2", c'est-à-dire "ISO-8859-2" si je ne me trompe pas.
Or, la chaine $string dont je dispose, est codée au départ en
"ISO-8859-1", et j'obtiens bien des caractères bizarre vaguement
orientaux, quand il y a un e accent grave ( è ) dans la chaine $string ,
sans conversion par iconv.
En effet, dans Latin2, à la place du è tu as un c avec caron (sorte
d'accent circonflexe à l'envers) :
http://alis.isoc.org/codage/iso8859/jeuxiso.htm
Le PHP Manual recommande donc, de convertir $string avec la fonction
iconv(), et un exemple est donné par les Américains qui laissent des
commentaires, avec cette fonction: $text = iconv("ISO-8859-1", "Latin2",
$string);
La conversion échouera au premier caractère inexistant dans Latin2 (le è
en est un exemple). Tu peux tenter une conversion approximative :
$text = iconv("ISO-8859-1", "Latin2//TRANSLIT", $string);
mais le è devrait alors perdre son accent.
Or, quand je soumet la variable $string à cette instruction, le texte
en sortie est la chaîne vide...
Normal si le premier caractère est un è, un à, un ê, etc.
Comment avec imagestring(), afficher du texte codé en "ISO-8859-1"
avec les accents, alors que imagestring() suppose que la chaîne devant
s'afficher, est en "Latin2" ?
Tu devrais pouvoir y arriver en utilisant une police TrueType ainsi
qu'il est dit ici : http://fr.php.net/imagestring#71038
<cit.>
The built-in fonts used to be in latin-2 (iso8859-2) encoding. For some
time, they are in latin-1 (iso8859-1) encoding. There is no way to
change the encoding at all. If you need to use any other encoding, you
have to use TrueType fonts.
</cit.>
Voir donc http://fr.php.net/manual/en/function.imagettftext.php
est valable à condition que cette chaine $string soit codée en "Latin2", c'est-à-dire "ISO-8859-2" si je ne me trompe pas.
Or, la chaine $string dont je dispose, est codée au départ en "ISO-8859-1", et j'obtiens bien des caractères bizarre vaguement orientaux, quand il y a un e accent grave ( è ) dans la chaine $string , sans conversion par iconv.
Le PHP Manual recommande donc, de convertir $string avec la fonction iconv(), et un exemple est donné par les Américains qui laissent des commentaires, avec cette fonction: $text = iconv("ISO-8859-1", "Latin2", $string);
La conversion échouera au premier caractère inexistant dans Latin2 (le è en est un exemple). Tu peux tenter une conversion approximative : $text = iconv("ISO-8859-1", "Latin2//TRANSLIT", $string); mais le è devrait alors perdre son accent.
Or, quand je soumet la variable $string à cette instruction, le texte en sortie est la chaîne vide...
Normal si le premier caractère est un è, un à, un ê, etc.
Comment avec imagestring(), afficher du texte codé en "ISO-8859-1" avec les accents, alors que imagestring() suppose que la chaîne devant s'afficher, est en "Latin2" ?
<cit.> The built-in fonts used to be in latin-2 (iso8859-2) encoding. For some time, they are in latin-1 (iso8859-1) encoding. There is no way to change the encoding at all. If you need to use any other encoding, you have to use TrueType fonts. </cit.>
Je renonce donc à l'idée de représenter des è sur l'image...
Je me contenterai de e sans accent.
Je vais rajouter "//TRANSLIT" au jeu de code en output.
merci beaucoup de votre aide. ;)
Bien à vous.
Amicalement.
Jean-François Ortolo
-- Visitez mon site gratuit donnant des Statistiques, des Pronostics et des Historiques Graphiques sur les Courses de Chevaux: http://www.pronostics-courses.fr/
Bonjour Monsieur
Je renonce donc à l'idée de représenter des è sur l'image...
Je me contenterai de e sans accent.
Je vais rajouter "//TRANSLIT" au jeu de code en output.
merci beaucoup de votre aide. ;)
Bien à vous.
Amicalement.
Jean-François Ortolo
--
Visitez mon site gratuit donnant des Statistiques,
des Pronostics et des Historiques Graphiques
sur les Courses de Chevaux:
http://www.pronostics-courses.fr/
Je renonce donc à l'idée de représenter des è sur l'image...
Je me contenterai de e sans accent.
Je vais rajouter "//TRANSLIT" au jeu de code en output.
merci beaucoup de votre aide. ;)
Bien à vous.
Amicalement.
Jean-François Ortolo
-- Visitez mon site gratuit donnant des Statistiques, des Pronostics et des Historiques Graphiques sur les Courses de Chevaux: http://www.pronostics-courses.fr/