[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: UTF8 gtk et gnome



Erwan David <erwan@rail.eu.org> writes:

>> Le support de quoi ? Cette variable désactive l'UTF-8 au profis de ta
>> locale oui ... c'est pas un support, c'est un basculement de choix.
>
> Donc le code pour les 2 est dans le la lib...
> Les 2 sont supportés... Si en plus ma locale est UTF-8 je suppose
> qu'il se débrouille... Le code *peut* traiter les situations. mais on
> préfère emmerder l'utilisateur plutôt que de le faire de façon
> transparente.
>

Tu ne comprends pas le problème. On sait lire les 2 types de codage,
mais pas détecter lequel est utilisé. Donc c'est à toi de spécifier le
format à utiliser. 

Tu ne peux *pas* traiter les situations de manière transparente donc
(ie: tu ne peux pas ouvrir un fichier en UTF8 et un en ISO-8859-15
automatiquement sans te planter sur un des deux).

Arrête de penser que les programmeurs font tout ce qu'ils peuvent pour
"emmerder" les utilisateurs, c'est archi faux ...


> C'est un choix.

Encore une fois, NON. Ou alors donne nous ta solution pour détecter
l'encodage d'un fichier automatiquement.


> (PS: on peut *aussi* vérifier qu'une chaine est une chaine UTF-8
> valide et si ce n'est pas le cas l'interpréter selon la locale, y'a
> *plein* de moyens de le faire...)

Le problème est plus complexe :

* une chaine encodée dans ta locale peut-être valide en UTF8, donc
  affichable. Le probleme c'est que affichable ne veut pas dire
  correcte ... donc le résultat à l'écran ne sera pas forcement le
  reflet du message d'origine.

* tu peux avoir 5 types d'encodages différents dans tes fichiers, il est
  incorrect de penser que si la chaine n'est pas UTF-8 alors elle est de
  ta locale ... un tel comportement serait éronné et provoquerait des
  bugs de manière aléatoire. Les développeurs de GTK+ ont voulu faire
  une API au comportement prévisible, et c'est bien mieux ainsi que de
  faire des suppositions de fonctionnement au pif.



Salutations,

Sebastien Bacher



Reply to: