fr.comp.normes.unicode
[Top] [All Lists]

Re: codage de sortie de la bdd (problème de débutant avec utf-8)

Subject: Re: codage de sortie de la bdd problème de débutant avec utf-8
From: Olivier Miakinen
Date: Thu, 02 Feb 2006 11:55:07 +0100
Newsgroups: fr.comp.normes.unicode
Le 02/02/2006 08:42, D. Eissart a écrit :
> 
> Finalement je vais faire comme indiqué ("...soit encore il utilise 
> utf8_encode() plus une bidouille pour traiter le cas particulier des 
> caractères qui ne sont pas dans ISO-8859-1." La bidouille en question se 
> limitant à noter par une entité les quelques -rares- caractères qui ne 
> "passeront" pas comme les "oe")

Le bidouille proposée était plus automatique (en quelque sorte une
fonction utf8_encode prenant en entrée CP1252 et pas ISO-8859-1).
Si tu dois toi-même faire des cas particuliers pour transformer
certains caractères en entités nommées, à mon humble avis tu t'embêtes
pour rien.

> Mais réellement je ne comprends rien au fonctionnement de cet 
> encodage...

Lequel ? ISO-8859-1, CP1252, ou UTF-8 ?

Pour les deux premiers, je te rappelle la page suivante :
<http://www.miakinen.net/vrac/charsets/>.

Pour le dernier, tu peux lire ceci si tu connais un peu l'anglais :
<http://www.cl.cam.ac.uk/~mgk25/unicode.html>. Ne pas s'inquiéter du
fait qu'il y ait « Unix/Linux » dans le titre, en réalité les infos
sur UTF-8 sont parfaitement indépendantes du type de plateforme.

> (Et je pense que vu la façon dont ça se passe utf-8 n'est 
> pas mûr pour devenir "la" référence absolue, ou alors il va falloir 
> créer des outils "grand-public" qui ne soient pas des "prises de tête" 
> permanentes...)

Si je puis me permettre, ton problème n'est pas dû à UTF-8 en lui-même,
mais justement au fait que ce n'est pas encore « la » référence absolue,
et que donc on se traîne comme des boulets des jeux de caractères divers
et variés : c'est du CP1252 pour toi, mais CP850 pour les utilisateurs
d'OS/2 par exemple.

Note que si tu utilises au moins PHP 4.2.1, tu devrais d'ailleurs
pouvoir éviter toute bidouille en utilisant simplement la fonction iconv().

> Petite question subsidiaire;
> Pourquoi ma façon de procéder ne fonctionne pas?

Je passe.

-- 
Olivier Miakinen
Troll du plus sage chez les conviviaux : le nouveau venu, avec
son clan, s'infiltre dans les groupes de nouvelles.  (3 c.)

<Prev in Thread] Current Thread [Next in Thread>