Bon, j'ai peut-être mal compris, je ne sais pas ce que tu appelles "tester
l'unicode", en fait je parle plutôt des Ӓ
En gros, tu avais installé cette fonction sur quelques champs, personne ne
s'est plaint et ces champs marchaient chez moi à la perfection (russe,
japonais..)- du coup j'ai étendu à tous les champs.
>Bon, j'ai peut-être mal compris, je ne sais pas ce que tu appelles "tester
>l'unicode", en fait je parle plutôt des Ӓ
Ah ok, je croyais que tu parlais d'avoir directement de l'unicode dans
la base. Je sais pas trop comment on peut faire pour ça.
Je pense qu'on pourra essayer des choses du genre conversion de charset au
niveau de la restauration d'archives. Par exemple si je fais un site en
russe avec comme charset windows-1251, et que je veux l'exporter vers une
base dont le charset est iso8859-1, il faudra bien que mes caractères
passent de leur code ascii > 127 à une représentation en &#aaa;... et
vice-versa. Mais ça, c'est plutôt post-1.4 je pense
> Dans la foulée, iso-8859-1 est complêtement hors d'age. C'est
> sio-8859-15 qu'il faut utiliser (!)
Concrètement ça veut dire quoi ? Si on passe le charset par défaut de
iso-8859-1 à iso-8859-15, est-ce qu'il y a la moindre chance qu'une base de
données existante se retrouve avec des caractères déformés, perdus,
illisibles, transformés etc. ?
Oui, bien sûr.
Et si on laisse iso-8859-1, qu'est-ce qu'on
perd ?
L'Euro, le . (oe ligaturé) entre autres..
Ces caractères remplacent d'autres caractères moins utilisés, comme le
symbole de devise internationale (dessiné sur les claviers PC à droite
du dollar (AltGr $) € http://www.cs.tut.fi/~jkorpela/latin9.html
Autrement dit, si vous utilisez des diaresis, des barres brisées (un
pipe coupé) des 1/4, 1/2, 3/4, des cédilles (outes seules), des accents
aigus (tous seuls), des diaresis (tous seuls), il va y avoir des pb de
lecture, ils seront remplacés par d'autres caractères particuliers.
Autant faire les choses bien : les broken bar, currency, 1/2 3/4 1/4 peuvent
avoir été utilisés... Il faudrait donc procéder à la mise à jour de la base:
Plein, non. juste IE* :-). Et encore, je crois qu'ils ont (enfin !) accepté
ce standard. Vu le temps qu'ils ont mis à accepter le PNG, le -15... ils
n'ont mis que 4 ans. C'est pas si mal
Pour ce qui est de l'intérêt, c'est une question de normalisation. Elle
a changé, il faut la respecter, point barre... Tous les brouteurs
récents la gèrent, les netscape* la remplacent par l'iso -1. Les MSIE,
je ne sais pas....
Hormis l'euro, le -15 c'est le seul moyen (avec l'iso -15) de faire des
oe, des << et des >>, des tirets longs.. Bref, coller à la typo française.
Plein, non. juste IE* :-). Et encore, je crois qu'ils ont (enfin !) accepté
ce standard.
Ca fait plein de machines qui ne sont pas à jour.... Y aussi Netscape 4,
peut-être.
Pour ce qui est de l'intérêt, c'est une question de normalisation. Elle
a changé, il faut la respecter, point barre... Tous les brouteurs
récents la gèrent, les netscape* la remplacent par l'iso -1. Les MSIE,
je ne sais pas....
Tant qu'à utiliser un charset normalisé, autant attendre un peu et passer
en utf-8, non ? L'iso-8859-15 n'apporte pratiquement rien :
Hormis l'euro, le -15 c'est le seul moyen (avec l'iso -15) de faire des oe, des << et des >>, des tirets longs.. Bref, coller à la typo française.
Les tirets longs, je ne sais pas, c'est pas très pratique à taper dans un
brouteur. Les << et >>, pareil (Alt + 0171 et Alt + 0187), et il y a des
entités HTML pour ça («, »).
Note que côté normalisation, on aurait des efforts à faire en HTML aussi
pour l'un ou pour l'autre. Autant passer directement en UTF8, les navigateurs
récents le supportent très bien.
Je dis des bêtises : est-ce qu'on pourrait stocker en utf8, mais avoir des
pages dont le charset serait fixé par le webmaster : ainsi si mon brouteur
parle japonais (JIS-xxx) mais pas utf8, SPIP lui cause en JIS, reçoit du
JIS, et stocke tout ça en utf8 ? Idem avec iso-latin, windows-1251, etc..
C'est pas très lourd d'intégrer/refaire tous ces filtres, si ?
Si on peut le faire, on se retrouve avec la possibilité de mélanger
différents charsets dans une même base, voire même de "parler" des charsets
différents à des clients différents ?
Refaire, très lourd, à mon avis. Si on passe un jour en utf-8, les
brouteurs devront suivre. Au pire on pourra faire une moulinette cradingue
pour l'iso-8859-occidental : prendre les 0x7F-0xFF utf-8 (sur deux
octets) et les décoder en 0x7F-0xFF normaux. Y en a qui vont hurler
mais c'est à peu près fidèle à mon avis (au niveau des caractères
accentués tout au moins).
Je connais pas assez : pointeurs ?
Note, pour l'utf-8, ça risque d'entraîner des bugs dans certaines
fonctions, à cause du codage multi-caractères....
Oui, couper() strlen() etc.. Il faudra les adapter ; c'est un gros chantier
en fait...
Un autre problème est la mise à jour de la base, qui va faire
timeouter une bonne partie des serveurs.
Il suffira d'y aller poco a poco.
Pour gérer les envois de mails ça va pas être triste non plus : on les
passera (horreur!) en HTML
Refaire, très lourd, à mon avis. Si on passe un jour en utf-8, les
brouteurs devront suivre. Au pire on pourra faire une moulinette cradingue
pour l'iso-8859-occidental : prendre les 0x7F-0xFF utf-8 (sur deux
octets) et les décoder en 0x7F-0xFF normaux. Y en a qui vont hurler
mais c'est à peu près fidèle à mon avis (au niveau des caractères
accentués tout au moins).
Ouais, quand tu vois que OE 6 ne gère toujours pas le -15,
t'as bon espoir pour l'UTF...
IE6 gere très bien l'UTF-8 (sous win, pour mac je ne sais pas).
J'ai fait pas mal de test pour gerer le japonais sous spip et les modifs
sont assez simples.
Il suffit d'indiquer le charset dans toutes les pages (public et prive)
et automatiquement toutes les "requetes" sont codees en UTF-8.
Conclusion tout le contenu de la base est en UTF-8 egalement. Et ensuite
lors de l'edition du texte on n'a aucune entite #XXX; meme en japonais
Apres il faut adapter la fonction typo() (pas fait car elle ne sert pas
en japonais) et le plus gros boulot est d'avoir des fonctions strlen,
strtoupper, etc. qui soient compatibles utf8. Mais là je ne sais pas
trop comment aborder ce pb...