Discussion:
conversion uf8 -> iso-8859-1
(trop ancien pour répondre)
Jean-Francois Ortolo
2007-05-15 10:00:00 UTC
Permalink
Bonjour

Je télécharge le contenu d'un site codé en utf8, j'en extrais les
données, que je transforme en iso-8859-1, pour les mettre dans une base
de données, dont les tables sont codées en iso.

La fonction utf8_decode() que j'utilise, ne prend pas en compte les
caractères non iso, tels que: "e dans l'o", que ce soit minsucule ou
majuscule. La traduction est évidemment: "oe" ou "OE".

Plus généralement, quelle serait une fonction, qui pourrait traduire
correctement tous les caractères non iso, à part le caractère euro en
uf8, dont je n'ai pas besoin ?

A ce moment-là, je n'aurait plus qu'à passer toutes les données lues
par cette fonction, pour qu'il n'y ait plus de problème de point
d'interrogation ( caractères non iso ) dans les données lues.

Merci beaucoup de vos réponses.

Jean-François Ortolo
--
Visitez mon site gratuit donnant des Statistiques
et des Historiques Graphiques sur les Courses de Chevaux:
http://www.ortolojf-courses.com
Bruno Desthuilliers
2007-05-15 13:31:32 UTC
Permalink
Jean-Francois Ortolo a écrit :
(snip)
Post by Jean-Francois Ortolo
La fonction utf8_decode() que j'utilise, ne prend pas en compte les
caractères non iso, tels que: "e dans l'o", que ce soit minsucule ou
majuscule. La traduction est évidemment: "oe" ou "OE".
Plus généralement, quelle serait une fonction, qui pourrait traduire
correctement tous les caractères non iso, à part le caractère euro en
uf8, dont je n'ai pas besoin ?
http://fr.php.net/iconv

Devrait faire l'affaire, je pense.

HTH
Olivier Miakinen
2007-05-15 16:23:15 UTC
Permalink
Le 15/05/2007 15:31, Bruno Desthuilliers répondait à Jean-François
Post by Bruno Desthuilliers
[ traduire œ en oe et Œ en OE ]
Plus généralement, quelle serait une fonction, qui pourrait traduire
correctement tous les caractères non iso, à part le caractère euro en
uf8, dont je n'ai pas besoin ?
http://fr.php.net/iconv
Devrait faire l'affaire, je pense.
Oui, avec l'option //TRANSLIT.

$latin_1 = iconv('UTF-8', 'ISO-8859-1//TRANSLIT', $utf_8);
Jean-Francois Ortolo
2007-05-15 16:23:15 UTC
Permalink
Post by Bruno Desthuilliers
http://fr.php.net/iconv
Devrait faire l'affaire, je pense.
HTH
Bonjour Monsieur

Effectivement, j'obtiens bien la traduction exacte du "e dans l'o"
vers: "oe", avec la fonction suivante:

iconv("UTF-8", "ISO-8859-1//TRANSLIT", $var);

L'ajour de //TRANSLIT assure la translittération, c'est-à-dire que la
conversion rend les caractères les plus proches des originaux, quand la
conversion est impossible, au lieu de s'arrêter.

Merci beaucoup pour ton information.

Bien à vous.

Amicalement.

Jean-François Ortolo
--
Visitez mon site gratuit donnant des Statistiques
et des Historiques Graphiques sur les Courses de Chevaux:
http://www.ortolojf-courses.com
Continuer la lecture sur narkive:
Loading...