> Autre question ouverte : comment faire une fonction majuscules() qui
> fonctionne pour les caractères isolatins, dans tous les charsets ? Ou est-ce
> qu'on décide que majuscules() ne marche que si lire_meta('charset') ==
> 'iso-8859-1' ?
Mwopf, majuscules n'a pas beaucoup d'utilité puisqu'on peut faire
la même chose avec des CSS, et que le brouteur s'y connaît mieux que
nous en jeux de caractères :
http://www.w3.org/TR/REC-CSS2/text.html#propdef-text-transform
Ouaip, il faut le garder pour la compatibilité ascendante, mais je pense
qu'on peut le...
Ce serait même marrant de reprogrammer majuscules pour faire :
<div style='text-transform: uppercase'>$texte</div>
dans les autres charsets au moins.
Un avantage sympa des CSS, c'est que tu peux tester tes modifs sans
avoir à vider le cache (tant que le HTML ne change pas ;-)).
Il faut reloader le CSS, je n'y arrive jamais !
La config charset est toujours là, c'est l'option spécifique "utf-8" qui
est enlevée puisqu'elle est trompeuse (elle donne à croire que SPIP
fonctionne avec ;-)).
OK
Mais tu peux toujours demander utf-8 comme charset "custom".
Bin, euh, non, puisqu'alors spip va te bouffer des caractères. Tout ça ne
supprime pas le problème, donc.
> Non, au contraire. Un inc_charset.php3 avec deux fonctions de conversion
> vers un point central (utf-8 ou isolatin + &#nnn pour chaque charset
> supporté, c'est plutôt clean. Ce qui est crade, c'est iso-latin, à cause des
> windowseries et des mauvaises habitudes liées à sa longue histoire...
Oui mais tout ça va donner un bon gros paquet de code, et de plus PHP
n'est absolument pas adapté à de la conversion caractère par caractère.
De la conversion, il n'y en aura pas souvent : sur les syndications,
essentiellement. Car pour ce qui est de rendre plus propres les fonctions
citées (typo et corriger_caractères) il suffit de n'y appliquer le truc
crade que si lire_meta('charset') == 'iso-8859-1'. (Et non pas suivre ma
proposition intiale d'une double conversion). Ca te paraît bon ?
-- Fil