BertrandB a formulé la demande :Mettre un BOM (nb : Byte Order Mark) sur de l'UTF-8 est une ânerie
monumentale comme seule une certaine firme de Redmond sait en inventer.
J'ai entendu plusieurs fois comme raison de procéder ainsi que le
fichier ainsi généré sera très facile à reconnaître par un processus
automatique : s'il y a BOM c'est que c'est un codage d'Unicode. Ca ne
me parait une bonne raison ?
Les éditeurs de textes peuvent reconnaître d'autre manière plus
explicite l'encodage, alors que le BOM est *invisible*. Et c'est ce
que je lui reproche !
un exemple d'arrachage de cheveu. Dans un fichier php on veut envoyer
des entêtes personnalisés. La présence du BOM avant <?php fait que les
entêtes standards sont envoyés -> bug
Bug dans le processeur PHP ou dans le serveur Web ?
AMHA, le BOM est une très bonne chose, qui permet de connaître (par un
programme) l'encodage d'un fichier. Pourquoi le couple PHP/Apache n'en
tient pas compte ?
BertrandB a formulé la demande :
Mettre un BOM (nb : Byte Order Mark) sur de l'UTF-8 est une ânerie
monumentale comme seule une certaine firme de Redmond sait en inventer.
J'ai entendu plusieurs fois comme raison de procéder ainsi que le
fichier ainsi généré sera très facile à reconnaître par un processus
automatique : s'il y a BOM c'est que c'est un codage d'Unicode. Ca ne
me parait une bonne raison ?
Les éditeurs de textes peuvent reconnaître d'autre manière plus
explicite l'encodage, alors que le BOM est *invisible*. Et c'est ce
que je lui reproche !
un exemple d'arrachage de cheveu. Dans un fichier php on veut envoyer
des entêtes personnalisés. La présence du BOM avant <?php fait que les
entêtes standards sont envoyés -> bug
Bug dans le processeur PHP ou dans le serveur Web ?
AMHA, le BOM est une très bonne chose, qui permet de connaître (par un
programme) l'encodage d'un fichier. Pourquoi le couple PHP/Apache n'en
tient pas compte ?
BertrandB a formulé la demande :Mettre un BOM (nb : Byte Order Mark) sur de l'UTF-8 est une ânerie
monumentale comme seule une certaine firme de Redmond sait en inventer.
J'ai entendu plusieurs fois comme raison de procéder ainsi que le
fichier ainsi généré sera très facile à reconnaître par un processus
automatique : s'il y a BOM c'est que c'est un codage d'Unicode. Ca ne
me parait une bonne raison ?
Les éditeurs de textes peuvent reconnaître d'autre manière plus
explicite l'encodage, alors que le BOM est *invisible*. Et c'est ce
que je lui reproche !
un exemple d'arrachage de cheveu. Dans un fichier php on veut envoyer
des entêtes personnalisés. La présence du BOM avant <?php fait que les
entêtes standards sont envoyés -> bug
Bug dans le processeur PHP ou dans le serveur Web ?
AMHA, le BOM est une très bonne chose, qui permet de connaître (par un
programme) l'encodage d'un fichier. Pourquoi le couple PHP/Apache n'en
tient pas compte ?
J'ai entendu plusieurs fois comme raison de procéder ainsi que le
fichier ainsi généré sera très facile à reconnaître par un processus
automatique : s'il y a BOM c'est que c'est un codage d'Unicode. Ca ne me
parait une bonne raison ?
Sauf que le codage Unicode est vraiment *très* facile à détecter,
explique ? Lire les deux premiers octets du BOM c'est pas plus facile
que de lire tout le fichier et détecter d'éventuels caractères UTF-8,
UTF16 ou que sais-je ?
et surtout à « falsifier ».
Quel est l'intérêt de falsifier l'encodage d'un fichier sinon pour
socratiser les diptères ?
J'ai entendu plusieurs fois comme raison de procéder ainsi que le
fichier ainsi généré sera très facile à reconnaître par un processus
automatique : s'il y a BOM c'est que c'est un codage d'Unicode. Ca ne me
parait une bonne raison ?
Sauf que le codage Unicode est vraiment *très* facile à détecter,
explique ? Lire les deux premiers octets du BOM c'est pas plus facile
que de lire tout le fichier et détecter d'éventuels caractères UTF-8,
UTF16 ou que sais-je ?
et surtout à « falsifier ».
Quel est l'intérêt de falsifier l'encodage d'un fichier sinon pour
socratiser les diptères ?
J'ai entendu plusieurs fois comme raison de procéder ainsi que le
fichier ainsi généré sera très facile à reconnaître par un processus
automatique : s'il y a BOM c'est que c'est un codage d'Unicode. Ca ne me
parait une bonne raison ?
Sauf que le codage Unicode est vraiment *très* facile à détecter,
explique ? Lire les deux premiers octets du BOM c'est pas plus facile
que de lire tout le fichier et détecter d'éventuels caractères UTF-8,
UTF16 ou que sais-je ?
et surtout à « falsifier ».
Quel est l'intérêt de falsifier l'encodage d'un fichier sinon pour
socratiser les diptères ?
Bonjour,
Le 20/03/2008 09:49, Sergio a écrit :J'ai entendu plusieurs fois comme raison de procéder ainsi que le
fichier ainsi généré sera très facile à reconnaître par un processus
automatique : s'il y a BOM c'est que c'est un codage d'Unicode. Ca ne me
parait une bonne raison ?
Sauf que le codage Unicode est vraiment *très* facile à détecter,
explique ? Lire les deux premiers octets du BOM c'est pas plus facile
que de lire tout le fichier et détecter d'éventuels caractères UTF-8,
UTF16 ou que sais-je ?
Tout d'abord, c'est à celui qui met un fichier à disposition de savoir
dans quel encodage il a été enregistré et de l'annoncer dans les entêtes
HTTP ad-hoc. Un navigateur ne devrait avoir besoin que de lire ces
entêtes et rien de plus (éventuellement un élément META dans le cas où
le fichier aurait été sauvé sur le disque local).
Bonjour,
Le 20/03/2008 09:49, Sergio a écrit :
J'ai entendu plusieurs fois comme raison de procéder ainsi que le
fichier ainsi généré sera très facile à reconnaître par un processus
automatique : s'il y a BOM c'est que c'est un codage d'Unicode. Ca ne me
parait une bonne raison ?
Sauf que le codage Unicode est vraiment *très* facile à détecter,
explique ? Lire les deux premiers octets du BOM c'est pas plus facile
que de lire tout le fichier et détecter d'éventuels caractères UTF-8,
UTF16 ou que sais-je ?
Tout d'abord, c'est à celui qui met un fichier à disposition de savoir
dans quel encodage il a été enregistré et de l'annoncer dans les entêtes
HTTP ad-hoc. Un navigateur ne devrait avoir besoin que de lire ces
entêtes et rien de plus (éventuellement un élément META dans le cas où
le fichier aurait été sauvé sur le disque local).
Bonjour,
Le 20/03/2008 09:49, Sergio a écrit :J'ai entendu plusieurs fois comme raison de procéder ainsi que le
fichier ainsi généré sera très facile à reconnaître par un processus
automatique : s'il y a BOM c'est que c'est un codage d'Unicode. Ca ne me
parait une bonne raison ?
Sauf que le codage Unicode est vraiment *très* facile à détecter,
explique ? Lire les deux premiers octets du BOM c'est pas plus facile
que de lire tout le fichier et détecter d'éventuels caractères UTF-8,
UTF16 ou que sais-je ?
Tout d'abord, c'est à celui qui met un fichier à disposition de savoir
dans quel encodage il a été enregistré et de l'annoncer dans les entêtes
HTTP ad-hoc. Un navigateur ne devrait avoir besoin que de lire ces
entêtes et rien de plus (éventuellement un élément META dans le cas où
le fichier aurait été sauvé sur le disque local).
Olivier Miakinen avait prétendu :Bonjour,
Le 20/03/2008 09:49, Sergio a écrit :J'ai entendu plusieurs fois comme raison de procéder ainsi que le
fichier ainsi généré sera très facile à reconnaître par un
processus automatique : s'il y a BOM c'est que c'est un codage
d'Unicode. Ca ne me parait une bonne raison ?
Sauf que le codage Unicode est vraiment *très* facile à détecter,
explique ? Lire les deux premiers octets du BOM c'est pas plus facile
que de lire tout le fichier et détecter d'éventuels caractères UTF-8,
UTF16 ou que sais-je ?
Tout d'abord, c'est à celui qui met un fichier à disposition de savoir
dans quel encodage il a été enregistré et de l'annoncer dans les entêtes
HTTP ad-hoc. Un navigateur ne devrait avoir besoin que de lire ces
entêtes et rien de plus (éventuellement un élément META dans le cas où
le fichier aurait été sauvé sur le disque local).
Néanmoins, le BOM existant et étant généré par les éditeurs
"à l'insu de
son plein gré", ça n'aurait pas cassé trois pattes à un canard pour,
dans Apache vérifier l'existence du BOM, l'interpréter, et le supprimer
avant de l'envoyer à l'interpréteur PHP !
Et ça aurait éviter des prises de tête à des milliers de développeurs
WEB, qui finalement se sont replié sur le Windows-1252 (pour les
francophones et langues annexes) qui ne pose pas de problème.
Olivier Miakinen avait prétendu :
Bonjour,
Le 20/03/2008 09:49, Sergio a écrit :
J'ai entendu plusieurs fois comme raison de procéder ainsi que le
fichier ainsi généré sera très facile à reconnaître par un
processus automatique : s'il y a BOM c'est que c'est un codage
d'Unicode. Ca ne me parait une bonne raison ?
Sauf que le codage Unicode est vraiment *très* facile à détecter,
explique ? Lire les deux premiers octets du BOM c'est pas plus facile
que de lire tout le fichier et détecter d'éventuels caractères UTF-8,
UTF16 ou que sais-je ?
Tout d'abord, c'est à celui qui met un fichier à disposition de savoir
dans quel encodage il a été enregistré et de l'annoncer dans les entêtes
HTTP ad-hoc. Un navigateur ne devrait avoir besoin que de lire ces
entêtes et rien de plus (éventuellement un élément META dans le cas où
le fichier aurait été sauvé sur le disque local).
Néanmoins, le BOM existant et étant généré par les éditeurs
"à l'insu de
son plein gré", ça n'aurait pas cassé trois pattes à un canard pour,
dans Apache vérifier l'existence du BOM, l'interpréter, et le supprimer
avant de l'envoyer à l'interpréteur PHP !
Et ça aurait éviter des prises de tête à des milliers de développeurs
WEB, qui finalement se sont replié sur le Windows-1252 (pour les
francophones et langues annexes) qui ne pose pas de problème.
Olivier Miakinen avait prétendu :Bonjour,
Le 20/03/2008 09:49, Sergio a écrit :J'ai entendu plusieurs fois comme raison de procéder ainsi que le
fichier ainsi généré sera très facile à reconnaître par un
processus automatique : s'il y a BOM c'est que c'est un codage
d'Unicode. Ca ne me parait une bonne raison ?
Sauf que le codage Unicode est vraiment *très* facile à détecter,
explique ? Lire les deux premiers octets du BOM c'est pas plus facile
que de lire tout le fichier et détecter d'éventuels caractères UTF-8,
UTF16 ou que sais-je ?
Tout d'abord, c'est à celui qui met un fichier à disposition de savoir
dans quel encodage il a été enregistré et de l'annoncer dans les entêtes
HTTP ad-hoc. Un navigateur ne devrait avoir besoin que de lire ces
entêtes et rien de plus (éventuellement un élément META dans le cas où
le fichier aurait été sauvé sur le disque local).
Néanmoins, le BOM existant et étant généré par les éditeurs
"à l'insu de
son plein gré", ça n'aurait pas cassé trois pattes à un canard pour,
dans Apache vérifier l'existence du BOM, l'interpréter, et le supprimer
avant de l'envoyer à l'interpréteur PHP !
Et ça aurait éviter des prises de tête à des milliers de développeurs
WEB, qui finalement se sont replié sur le Windows-1252 (pour les
francophones et langues annexes) qui ne pose pas de problème.
Et ça aurait éviter des prises de tête à des milliers de développeurs WEB,
qui finalement se sont replié sur le Windows-1252 (pour les francophones et
langues annexes) qui ne pose pas de problème.
Tu inverses totalement les responsabilités. Le BOM ne concerne normalement
que les encodage utf-x avec x > 8. Il ne *devrait pas* exister pour un
document encodé en utf-8. Ce n'est pas à Apache / PHP / qui que ce soit de
s'adapter aux fausses bonnes idées de quelques "éditeurs" (ou éditeurs
d'éidteurs !-), mais à ces "éditeurs" de respecter les normes et conventions
(et le simple bon sens).
Quant aux "milliers de développeurs web" dont tu parles, ils feraient mieux
d'apprendre leur boulot et de s'installer un éditeur digne de ce nom.
Et ça aurait éviter des prises de tête à des milliers de développeurs WEB,
qui finalement se sont replié sur le Windows-1252 (pour les francophones et
langues annexes) qui ne pose pas de problème.
Tu inverses totalement les responsabilités. Le BOM ne concerne normalement
que les encodage utf-x avec x > 8. Il ne *devrait pas* exister pour un
document encodé en utf-8. Ce n'est pas à Apache / PHP / qui que ce soit de
s'adapter aux fausses bonnes idées de quelques "éditeurs" (ou éditeurs
d'éidteurs !-), mais à ces "éditeurs" de respecter les normes et conventions
(et le simple bon sens).
Quant aux "milliers de développeurs web" dont tu parles, ils feraient mieux
d'apprendre leur boulot et de s'installer un éditeur digne de ce nom.
Et ça aurait éviter des prises de tête à des milliers de développeurs WEB,
qui finalement se sont replié sur le Windows-1252 (pour les francophones et
langues annexes) qui ne pose pas de problème.
Tu inverses totalement les responsabilités. Le BOM ne concerne normalement
que les encodage utf-x avec x > 8. Il ne *devrait pas* exister pour un
document encodé en utf-8. Ce n'est pas à Apache / PHP / qui que ce soit de
s'adapter aux fausses bonnes idées de quelques "éditeurs" (ou éditeurs
d'éidteurs !-), mais à ces "éditeurs" de respecter les normes et conventions
(et le simple bon sens).
Quant aux "milliers de développeurs web" dont tu parles, ils feraient mieux
d'apprendre leur boulot et de s'installer un éditeur digne de ce nom.
Néanmoins, le BOM existant et étant généré par les éditeurs "à l'insu
de son plein gré", ça n'aurait pas cassé trois pattes à un canard
pour, dans Apache vérifier l'existence du BOM, l'interpréter, et le
supprimer avant de l'envoyer à l'interpréteur PHP !
Et ça aurait éviter des prises de tête à des milliers de développeurs
WEB, qui finalement se sont replié sur le Windows-1252 (pour les
francophones et langues annexes) qui ne pose pas de problème.
Néanmoins, le BOM existant et étant généré par les éditeurs "à l'insu
de son plein gré", ça n'aurait pas cassé trois pattes à un canard
pour, dans Apache vérifier l'existence du BOM, l'interpréter, et le
supprimer avant de l'envoyer à l'interpréteur PHP !
Et ça aurait éviter des prises de tête à des milliers de développeurs
WEB, qui finalement se sont replié sur le Windows-1252 (pour les
francophones et langues annexes) qui ne pose pas de problème.
Néanmoins, le BOM existant et étant généré par les éditeurs "à l'insu
de son plein gré", ça n'aurait pas cassé trois pattes à un canard
pour, dans Apache vérifier l'existence du BOM, l'interpréter, et le
supprimer avant de l'envoyer à l'interpréteur PHP !
Et ça aurait éviter des prises de tête à des milliers de développeurs
WEB, qui finalement se sont replié sur le Windows-1252 (pour les
francophones et langues annexes) qui ne pose pas de problème.
Tout d'abord, c'est à celui qui met un fichier à disposition de savoir
dans quel encodage il a été enregistré et de l'annoncer dans les entêtes
HTTP ad-hoc. Un navigateur ne devrait avoir besoin que de lire ces
entêtes et rien de plus (éventuellement un élément META dans le cas où
le fichier aurait été sauvé sur le disque local).
Néanmoins, le BOM existant et étant généré par les éditeurs "à l'insu
de son plein gré", ça n'aurait pas cassé trois pattes à un canard pour,
dans Apache vérifier l'existence du BOM, l'interpréter, et le supprimer
avant de l'envoyer à l'interpréteur PHP !
Tout d'abord, c'est à celui qui met un fichier à disposition de savoir
dans quel encodage il a été enregistré et de l'annoncer dans les entêtes
HTTP ad-hoc. Un navigateur ne devrait avoir besoin que de lire ces
entêtes et rien de plus (éventuellement un élément META dans le cas où
le fichier aurait été sauvé sur le disque local).
Néanmoins, le BOM existant et étant généré par les éditeurs "à l'insu
de son plein gré", ça n'aurait pas cassé trois pattes à un canard pour,
dans Apache vérifier l'existence du BOM, l'interpréter, et le supprimer
avant de l'envoyer à l'interpréteur PHP !
Tout d'abord, c'est à celui qui met un fichier à disposition de savoir
dans quel encodage il a été enregistré et de l'annoncer dans les entêtes
HTTP ad-hoc. Un navigateur ne devrait avoir besoin que de lire ces
entêtes et rien de plus (éventuellement un élément META dans le cas où
le fichier aurait été sauvé sur le disque local).
Néanmoins, le BOM existant et étant généré par les éditeurs "à l'insu
de son plein gré", ça n'aurait pas cassé trois pattes à un canard pour,
dans Apache vérifier l'existence du BOM, l'interpréter, et le supprimer
avant de l'envoyer à l'interpréteur PHP !
2) Pourquoi c'est une fausse bonne idée :
Un fichier binaire pourrait parfaitement commencer par les octets EF,
BB et BF, et ce serait un énorme bug de les enlever. D'ailleurs même
un fichier Latin1 a le droit de commencer par  quoique je t'accorde
que ce serait assez bizarre. Pour qu'Apache soit sûr qu'il s'agisse
bien d'un BOM UTF-8, il faudrait d'abord qu'il lise la totalité du
fichier pour s'assurer que c'est bien de l'UTF-8, chose dont tu dis
que même les navigateurs ne devraient pas avoir à le faire.
2) Pourquoi c'est une fausse bonne idée :
Un fichier binaire pourrait parfaitement commencer par les octets EF,
BB et BF, et ce serait un énorme bug de les enlever. D'ailleurs même
un fichier Latin1 a le droit de commencer par  quoique je t'accorde
que ce serait assez bizarre. Pour qu'Apache soit sûr qu'il s'agisse
bien d'un BOM UTF-8, il faudrait d'abord qu'il lise la totalité du
fichier pour s'assurer que c'est bien de l'UTF-8, chose dont tu dis
que même les navigateurs ne devraient pas avoir à le faire.
2) Pourquoi c'est une fausse bonne idée :
Un fichier binaire pourrait parfaitement commencer par les octets EF,
BB et BF, et ce serait un énorme bug de les enlever. D'ailleurs même
un fichier Latin1 a le droit de commencer par  quoique je t'accorde
que ce serait assez bizarre. Pour qu'Apache soit sûr qu'il s'agisse
bien d'un BOM UTF-8, il faudrait d'abord qu'il lise la totalité du
fichier pour s'assurer que c'est bien de l'UTF-8, chose dont tu dis
que même les navigateurs ne devraient pas avoir à le faire.
Sergio a écrit :Et ça aurait éviter des prises de tête à des milliers de développeurs
WEB, qui finalement se sont replié sur le Windows-1252 (pour les
francophones et langues annexes) qui ne pose pas de problème.
Quant aux "milliers de développeurs web" dont tu parles, ils feraient
mieux d'apprendre leur boulot et de s'installer un éditeur digne de ce nom.
Sergio a écrit :
Et ça aurait éviter des prises de tête à des milliers de développeurs
WEB, qui finalement se sont replié sur le Windows-1252 (pour les
francophones et langues annexes) qui ne pose pas de problème.
Quant aux "milliers de développeurs web" dont tu parles, ils feraient
mieux d'apprendre leur boulot et de s'installer un éditeur digne de ce nom.
Sergio a écrit :Et ça aurait éviter des prises de tête à des milliers de développeurs
WEB, qui finalement se sont replié sur le Windows-1252 (pour les
francophones et langues annexes) qui ne pose pas de problème.
Quant aux "milliers de développeurs web" dont tu parles, ils feraient
mieux d'apprendre leur boulot et de s'installer un éditeur digne de ce nom.
En outre, tu parles « des » éditeurs de texte. Il y en a vraiment
plusieurs qui ont ce bug sur Windows ? Et en dehors de Windows, tu
crois qu'il en existe ne serait-ce qu'un ?
En outre, tu parles « des » éditeurs de texte. Il y en a vraiment
plusieurs qui ont ce bug sur Windows ? Et en dehors de Windows, tu
crois qu'il en existe ne serait-ce qu'un ?
En outre, tu parles « des » éditeurs de texte. Il y en a vraiment
plusieurs qui ont ce bug sur Windows ? Et en dehors de Windows, tu
crois qu'il en existe ne serait-ce qu'un ?