je fais quelques essais en utf-8 : premières constatations, ça passe bien en
espéranto, mais ni l'hébreu ni l'arabe ne passent bien... bizarrement
certains caractères semblent fonctionner, d'autres pas. Dans la page
d'édition articles_edit.php3, tout est bon (y compris quand on y revient) ,
mais dans la page de rendu (articles.php3) ça ne passe pas, pas plus que
dans les pages publiques.
Si quelqu'un a une idée... la base semble contenir ce qu'il faut, mais je ne
sais pas trop comment regarder. Est-ce que propre() pourrait entrer en
conflit avec certains caracteres utf-8 ?
certains caractères semblent fonctionner, d'autres pas. Dans la page
d'édition articles_edit.php3, tout est bon (y compris quand on y revient) ,
mais dans la page de rendu (articles.php3) ça ne passe pas, pas plus que
dans les pages publiques.
A regarder d'un peu plus pres : si je desactive la fonction typo(), les
caracteres passent plus facilement (une histoire de ? parasites...), mais il
semble que, en plus, 'il me manque encore les indications de script
d'ecriture de la droite vers la gauche... c'est pas encore ce soir qu'on va
spiper en utf-8 !
Le même texte, entré dans SPIP, puis lu en sql > fichier donne :
fil@miel> hexdump test.result
0000000 6574 7478 0a65 5c0d ef6e adba baef ef8e
0000010 27bb bbef ef22 b3bb baef 20ad baef ef90
0000020 27bb bbef efa0 27bb bbef 0d22 6e5c 5c0d
0000030 506e 4948 494c 5050 2045 4952 4956 5245
0000040 0d45 6e5c 000a
Comme vous êtes perspicaces, vous remarquez tout de suite que ce sont les
mêmes caractères, mais posés à l'envers (2045 en bas correspond à ..45 20..
en haut) ; si quelqu'un peut m'expliquer de quoi il retourne ?? J'ai
dépassé mes limites de compétence là
@ François G-Hamonno <fhamonno@club-internet.fr> :
Explication possible :
Il semble que le dump ne lise pas les octets de la même manière sur les 2 machines :
- Mots de 16 bits lus à partir des poids faibles (processeur Intel)
Sur le serveur de tests
- Mots de 16 bits lus à partir des poids forts (processeur Motorola)
2) MySQL 3 ne supporte pas de façon correcte l'unicode, il faudra attendre
la 4.1 qui le gèrera en natif. Il existe des patch pour Mysql 3 (faire une
recherche sur www.i18ngurus.com)
Ca ne concerne que les fonctions de traitement de chaînes (LIKE,
CONCAT...) qui ne sont pratiquement pas utilisées dans SPIP.
2) MySQL 3 ne supporte pas de façon correcte l'unicode, il faudra attendre
la 4.1 qui le gèrera en natif. Il existe des patch pour Mysql 3 (faire une
recherche sur www.i18ngurus.com)
Ca ne concerne que les fonctions de traitement de chaînes (LIKE,
CONCAT...) qui ne sont pratiquement pas utilisées dans SPIP.
Ainsi que les tris et les index sur des champs texte encodés en utf.
Quant à PHP, c'est vrai que c'est rapé
Certaines fonctions marchent, il faut rajouter le charset en paramètre
optionel je crois.