Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/08/2009, à 19:36

Mpok

Encodage du forum

Bonjour,

<Préliminaire>
Je me bats depuis quelques jours avec des problèmes d'encodage (charset) pour mon site..
En effet, depuis que je suis "passé sous Linux", je découvre certains problèmes que je n'avais pas vu sous Windows (des caractères incorrects affichés sous forme de petit carrés, à l'affichage dans le navigateur ET/OU dans les sources php).

Bon, ok, c'est un pbm ISO-8859-1 <-> UTF-8...

Alors, je me suis lancé dans une modification de mes sources afin de "convertir" ces caractères incorrects (comme remplacer "’" par "'", ainsi que les entités html correspondantes).
Mais je découvre aussi que dans certains cas (et je ne comprends pas encore pourquoi), l'apostrophe est BIEN traitée (et s'affiche bien, sans que ce soit une entité html comme [c]&#8217[/c]) Par contre, c'est dans "Affichage source" que les carrés apparaissent.
(note : c'est évidemment CE dernier comportement que j'aimerais obtenir.., c'est bien mieux que d'avoir que des ')

Bref, je patauge un peu...
</Préliminaire>

Mais si je poste dans cette section (le préliminaire n'étant là que pour présenter les choses), c'est parce que je viens de constater que le charset des pages html sur CE FORUM est déclaré en utf-8.
Or Fluxbb est en ISO-8859-1 UNIQUEMENT (au moins jusqu'à la version 1.4).

D'où ma question, (mon site étant basé sur Fluxbb, il est évident que le passer en utf-8 règlerait tous les pbms) :

Comment avez-vous fait ?
Est-ce qu'il s'agit juste d'une conversion des tables ? (et donc, "pas propre"... wink puisque le soft n'est pas "prévu pour")
Ou bien utilisez-vous la 1.4 (ce dont je doute...) ?
Ou bien est-ce un dev interne ?

Hors ligne

#2 Le 17/08/2009, à 19:48

mr_pouit

Re : Encodage du forum

Bonjour,

Non, ce n'est pas propre du tout, fuis malheureux, tu ne veux pas savoir ce qui a été fait. wink

En gros, les tables ont été converties, l'utf-8 forcé avec un SET NAMES 'UTF8', et les templates du forum modifiés avec un charset=UTF-8. Après, l'avantage de cette méthode est qu'elle génère plein de problèmes : FluxBB 1.2 n'est pas prêt pour l'utf-8 (vu qu'il n'utilise pas les fonctions mb_*), donc tous les calculs de longueurs de chaînes (titre du topic ou contenu d'un message) sont cassés. Par exemple, un titre de sujet peut aller jusqu'à 70 caractères, sauf si tu mets des accents (tu peux tester, on n'a rien corrigé pour ça wink).

Donc si tu ne veux pas t'arracher les cheveux, tu peux attendre FluxBB 1.4. tongue

Dernière modification par mr_pouit (Le 17/08/2009, à 19:49)

Hors ligne

#3 Le 17/08/2009, à 22:14

Yann

Re : Encodage du forum

cool


Et pourtant moi, jsuis pas du genre délicat,
Dans un coin de la musse, j'ai posé mon matelas
- Paulo Anarkao

Hors ligne

#4 Le 17/08/2009, à 23:54

Mpok

Re : Encodage du forum

Merci mr_pouit pour ces précisions... smile

note : je suis par ailleurs très content de voir ENFIN quelqu'un qui admet que sa "bidouille utf-8" n'est pas propre.. wink
Et ton explication (très juste) prouve qu'au moins tu y connais qque chose (au contraire d'autres qui jurent que leur forum est utf-8 sans connaître les détails).

Mais du coup, uniquement par curiosité, j'ai une autre question :
Après le "comment", je me demande "pourquoi"..
Pourquoi cette "bidouille" ?
Que vous apporte-t-elle ? (à part les problèmes que tu as mentionnés)

PS : pour mon site perso, je ne pense pas migrer en 1.4, même quand elle sera en version finale. J'ai fait TROP de modifs dans le code de fluxbb, même avec un "hdiff" cela me prendrait trop de temps pour l'adapter. Ca reste "théoriquement" possible, mais il faudrait un gros temps libre pour que je me lance dedans..

Hors ligne

#5 Le 18/08/2009, à 00:05

Zakhar

Re : Encodage du forum

Bah l'UTF-8 c'est quand même LE codage.

Dès que tu sors la tête du guidon, et si tu penses un tant soi peu international, tu es bien obligé de passer à l'Unicode.

Donc petit à petit, et je trouve ça très bien, UTF-8 devient LA norme de codage.

Et du coup je peux écrire des trucs comme :
αβγδε
ؤؤئبخحسز
⠇⠎⠔⠛⠟
⺛⺓⺐⺑⺔⺟

Donc respectivement des caractères grecs, arabes, braille et clés chinoises, tout ça mélangé à un texte écrit en français.

Et dernière notion... si tu les vois tel que je les décris, c'est que tu as bien les glyphes sur ton ordinateur. Sinon ça apparaît en encadré avec un code numérique.
Un glyphe est en quelque sorte le dessin qui correspond à un caractère. Quand tu réfléchis à ce qu'est la lettre : A... en réalité elle est représentée par un dessin qui est un triangle sans base barré d'un trait à mi-hauteur. Ce dessin ou "glyphe", représente conventionnellement le A dans notre alphabet (on aurait pu choisir un tout autre dessin, il se trouve que c'est ainsi... pure convention wink )

Dernière modification par Zakhar (Le 18/08/2009, à 00:09)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#6 Le 18/08/2009, à 01:09

Mpok

Re : Encodage du forum

@Zakhar : oui, je suis bien conscient que utf8 serait meilleur... smile (déjà, ça m'éviterait de me prendre la tête sur certains pbms).

MAIS : si tu as bien lu la réponse précédente de mr_pouit, on ne décide pas comme ça de passer en utf8. Il ne s'agit pas seulement de changer les tables sql et de mofifier le charset dans l'entête. Il y a EGALEMENT des problèmes dans le CODE de l'application...
C'est là qu'est le problème :
- avoir une application "correcte" en iso-8859-1
- ou avoir une application "bugguée" en utf-8
Ubuntu.fr a choisi la seconde solution (d'où ma question "Pourquoi ?").

Quelque soit le choix, il faut peser le pour et le contre, et je suppose que ubuntu.fr l'a fait. Ce que je me demande, c'est qu'est-ce qu'ils ont mis dans la colonne "pour"... ?

Hors ligne

#7 Le 18/08/2009, à 09:38

mr_pouit

Re : Encodage du forum

Probablement une (fausse) bonne idée d'un ancien admin (indice: il a posté un smiley ici) un lendemain de cuite, qui (dixit) "s'est ensuite rendu compte combien c'était débile ce qu'il avait fait et qu'il était dans la merde pour revenir en arrière". big_smile

Mais bon, ensuite, les manipulations restantes sont décrites dans ce topic (mais au point où on en est, on attend la 1.4…).

Hors ligne

#8 Le 01/09/2009, à 12:02

Mpok

Re : Encodage du forum

mr_pouit a écrit :

(mais au point où on en est, on attend la 1.4…).

Bonne décision...
Ceci dit, vos "erreurs du passé" risquent de vous rattrapper à cette occasion.
J'ai fait ce week-end quelques tests de conversion 1.2 -> 1.4 (beta 2). Y compris en "compromettant" volontairement ma bdd.
Si vous n'êtes pas en ISO-8859-1 (et c'est le cas), vous allez en chier... Rien d'impossible évidemment, mais il faudra "personnaliser" la procédure de mise à jour. Ca, c'est pour la bdd uniquement (degré : facile). Ensuite vient les fichiers sources eux-mêmes (note: je ne sais pas comment ils sont enregistrés chez vous). Tout dépend de la conversion qui a été faite : j'ai testé plusieurs "cas", dans certains c'est vraiment la merde, mais c'est vrai que j'avais poussé le vice jusqu'au bout (fichiers 'latin1' enregistrés en 'utf-8' puis reconvertis).

Hors ligne