UTF-8
Dernière modification : -
// 2007/07/31 14:40 / 64.208.49.60
Depuis la version 2.20, TigerWiki fonctionne en UTF-8. Pour ma part mon système y était déjà.
Avant toute chose, lire cette vulgarisation des concepts de base
Loin d'être un spécialiste en encodage de caractères, j'ai quand même relevé lors de mes tests quelques points qui peuvent poser problème.
Ce qui donnerait pour un système utf-8 (ligne 200 de la 2.21)
Mais le support de l'utf-8 n'est présent qu'a partir de php 5 malheureusement loin d'être disponible partout :(
Du coup j'ai carrément commenté la ligne et cela ne semble pas poser de problème. Les caractères restent encodés en entités html (é).
Hors quand l'OS servant à la saisie est déjà en UTF-8, les caractères sont doublement encodés.
Peut-être que mb_convert_encoding serait plus adaptée
Enfin, pour essayer de comprendre un peu tout cela, j'ai fait un petit script qui utilise le module mbstring.
Voir test_charset
Depuis la version 2.20, TigerWiki fonctionne en UTF-8. Pour ma part mon système y était déjà.
Avant toute chose, lire cette vulgarisation des concepts de base
Loin d'être un spécialiste en encodage de caractères, j'ai quand même relevé lors de mes tests quelques points qui peuvent poser problème.
- htmlentities qui est utilisé en début de formatage
Ce qui donnerait pour un système utf-8 (ligne 200 de la 2.21)
$CONTENT = htmlentities($CONTENT,ENT_COMPAT,"UTF-8");
- html_entity_decode en fin de formatage
$CONTENT = html_entity_decode($CONTENT,ENT_COMPAT,"UTF-8");
Mais le support de l'utf-8 n'est présent qu'a partir de php 5 malheureusement loin d'être disponible partout :(
Du coup j'ai carrément commenté la ligne et cela ne semble pas poser de problème. Les caractères restent encodés en entités html (é).
- utf8_encode utilisé pour convertir en utf-8 les pages saisies
Hors quand l'OS servant à la saisie est déjà en UTF-8, les caractères sont doublement encodés.
Peut-être que mb_convert_encoding serait plus adaptée
- même chose pour utf8_decode
- Quid de la variable de config $CHARSET ?
Enfin, pour essayer de comprendre un peu tout cela, j'ai fait un petit script qui utilise le module mbstring.
Voir test_charset