ma base mysql:
version : MySQL 4.0.24,
language : French (fr-iso-8859-1)
ce select récupère en base des données textuelles, donc, comportant des
caractères accentués (é, à, ç, ô...).
il se trouve que le fichier que le visiteur récupère ainsi voit ces
caractères-là remplacés par des 'zigouigouis' du type e majuscule
accentuée, a majuscule accentuée , accent circonflexe inversé,...
si je propose l'affichage 'inline' de fichier.txt, par contre, tout
s'affiche comme je le souhaite.
je me doute bien qu'il s'agit d'un 'bête' problème d'encodage des
données rendues par MySQL... sans doute aggravé du fait que je voudrais
un fichier.txt lisible 'tel quel' sur MacOS comme sur Windows et qu'il
me faudra donc créer 2 fichiers différents : "téléchargez fichier.txt au
format Mac - téléchargez fichier.txt au format Windows"...
merci par avance pour toute piste de documentation intelligible par moi
: bien que je vienne de trouver, par hasard, une boite avec 3 neurones
neufs à l'intérieur et que j'ai ainsi pu me faire un upgrade hardware
personnel (quadrupler sa capacité neuronnale, ça vous booste un
gentleman...) les doc (officielles) de character-set, collation et
autres de MySQL, comme celles des charset, encoding etc de PHP me sont
passablement incompréhensibles.
je crosspost sur 'fr.comp.infosystemes.www.auteurs' et
'fr.comp.applications.sgbd' (mais pas sur 'fr.comp.lang.php' car je ne
crois pas qu'il s'agisse d'un problème lié à PHP) avec suivi sur
'fr.comp.infosystemes.www.auteurs'.
--
@@@@@
E -00 comme on est very beaux dis !
' `) /
|\_ =="
ma base mysql: version : MySQL 4.0.24, language : French (fr-iso-8859-1)
ce select récupère en base des données textuelles, donc, comportant des caractères accentués (é, à, ç, ô...).
il se trouve que le fichier que le visiteur récupère ainsi voit ces caractères-là remplacés par des 'zigouigouis' du type e majuscule accentuée, a majuscule accentuée , accent circonflexe inversé,...
si je propose l'affichage 'inline' de fichier.txt, par contre, tout s'affiche comme je le souhaite.
Pourriez-vous indiquer des URL où reproduire ces 2 comportements ? Qu'appelez-vous "affichage inline" ? Un accès direct au fichier ? Dans ce cas, je suppose que votre serveur ne renvoit pas d'information de codage dans le Content-Type et que c'est le navigateur qui se débrouille tout seul...
denisb wrote:
je cherche à permettre le téléchargement d'un fichier.txt créé à la
volée (script php) suite à un select mysql.
ma base mysql:
version : MySQL 4.0.24,
language : French (fr-iso-8859-1)
ce select récupère en base des données textuelles, donc, comportant des
caractères accentués (é, à, ç, ô...).
il se trouve que le fichier que le visiteur récupère ainsi voit ces
caractères-là remplacés par des 'zigouigouis' du type e majuscule
accentuée, a majuscule accentuée , accent circonflexe inversé,...
si je propose l'affichage 'inline' de fichier.txt, par contre, tout
s'affiche comme je le souhaite.
Pourriez-vous indiquer des URL où reproduire ces 2 comportements ?
Qu'appelez-vous "affichage inline" ? Un accès direct au fichier ? Dans
ce cas, je suppose que votre serveur ne renvoit pas d'information de
codage dans le Content-Type et que c'est le navigateur qui se débrouille
tout seul...
ma base mysql: version : MySQL 4.0.24, language : French (fr-iso-8859-1)
ce select récupère en base des données textuelles, donc, comportant des caractères accentués (é, à, ç, ô...).
il se trouve que le fichier que le visiteur récupère ainsi voit ces caractères-là remplacés par des 'zigouigouis' du type e majuscule accentuée, a majuscule accentuée , accent circonflexe inversé,...
si je propose l'affichage 'inline' de fichier.txt, par contre, tout s'affiche comme je le souhaite.
Pourriez-vous indiquer des URL où reproduire ces 2 comportements ? Qu'appelez-vous "affichage inline" ? Un accès direct au fichier ? Dans ce cas, je suppose que votre serveur ne renvoit pas d'information de codage dans le Content-Type et que c'est le navigateur qui se débrouille tout seul...
newdb
Pierre Goiffon wrote:
Qu'appelez-vous "affichage inline" ? Un accès direct au fichier ?
bonsoir et merci de l'intéret porté à ma question.
c'était l'affichage dans le navigateur en tapant directement le nom du fichier texte dans la barre d'adresse. mais j'ai bien vu que mon navigateur prenait sur lui (dans ses préférences) de convertir le fichier pour l'affichage...
après bien des détours, je crois commencer à comprendre ce qu'il me faudrait faire...
je voudrais : "où est ce ? là ? c'est ça ?" et j'obtiens ceci : <http://d.boccoz.free.fr/testeur/iso-8859-1.jpg> à cause du glissement d'encodage iso-8859-1 / mac roman visible là : <http://d.boccoz.free.fr/testeur/differences.jpg>
le fichier que le script php crée sur le serveur est en iso-8859-1 (sortie 'brute' de mysql, par défaut en 8859-1). arrivé en téléchargement (fpassthru) sur un macintosh, il n'est pas décodé en mac roman (d'où la nécessité d'un utilitaire quelconque pour le rendre 'lisible' par certaines applis mac -word, excel,... pour ne pas les nommer).
ce qu'il me faudrait donc faire (pour créer ce 'féchu fichier' de texte spécifique aux utilisateurs macintosh) c'est un select mysql au format mac roman. mais avec ma version 4.0.24 (en iso-8859-1), je n'y arrive pas.
j'ai cru comprendre que je devais utiliser : "SELECT CONVERT(`mon_champ` USING macroman) FROM `ma_table`..."
mais j'ai une erreur : " #1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'USING macroman) FROM `ma_table` WHERE 1 LIMIT 0, 30' at li ".
apparement CONVERT...USING ne fonctionne qu'à partir de la version 4.1 de mysql...
je me permets de re-crossposter sur 'fr.comp.applications.sgbd' mais je garde le suivi sur 'fr.comp.infosystemes.www.auteurs'
-- @@@@@ E -00 comme on est very beaux dis ! ' `) / |_ =="
Pierre Goiffon <pgoiffon@free.fr.invalid> wrote:
Qu'appelez-vous "affichage inline" ? Un accès direct au fichier ?
bonsoir et merci de l'intéret porté à ma question.
c'était l'affichage dans le navigateur en tapant directement le nom du
fichier texte dans la barre d'adresse. mais j'ai bien vu que mon
navigateur prenait sur lui (dans ses préférences) de convertir le
fichier pour l'affichage...
après bien des détours, je crois commencer à comprendre ce qu'il me
faudrait faire...
je voudrais : "où est ce ? là ? c'est ça ?"
et j'obtiens ceci :
<http://d.boccoz.free.fr/testeur/iso-8859-1.jpg>
à cause du glissement d'encodage iso-8859-1 / mac roman visible là :
<http://d.boccoz.free.fr/testeur/differences.jpg>
le fichier que le script php crée sur le serveur est en iso-8859-1
(sortie 'brute' de mysql, par défaut en 8859-1).
arrivé en téléchargement (fpassthru) sur un macintosh, il n'est pas
décodé en mac roman (d'où la nécessité d'un utilitaire quelconque pour
le rendre 'lisible' par certaines applis mac -word, excel,... pour ne
pas les nommer).
ce qu'il me faudrait donc faire (pour créer ce 'féchu fichier' de texte
spécifique aux utilisateurs macintosh) c'est un select mysql au format
mac roman.
mais avec ma version 4.0.24 (en iso-8859-1), je n'y arrive pas.
j'ai cru comprendre que je devais utiliser :
"SELECT CONVERT(`mon_champ` USING macroman) FROM `ma_table`..."
mais j'ai une erreur :
" #1064 - You have an error in your SQL syntax. Check the manual that
corresponds to your MySQL server version for the right syntax to use
near 'USING macroman) FROM `ma_table` WHERE 1 LIMIT 0, 30' at li ".
apparement CONVERT...USING ne fonctionne qu'à partir de la version 4.1
de mysql...
je me permets de re-crossposter sur 'fr.comp.applications.sgbd' mais je
garde le suivi sur 'fr.comp.infosystemes.www.auteurs'
--
@@@@@
E -00 comme on est very beaux dis !
' `) /
|_ =="
Qu'appelez-vous "affichage inline" ? Un accès direct au fichier ?
bonsoir et merci de l'intéret porté à ma question.
c'était l'affichage dans le navigateur en tapant directement le nom du fichier texte dans la barre d'adresse. mais j'ai bien vu que mon navigateur prenait sur lui (dans ses préférences) de convertir le fichier pour l'affichage...
après bien des détours, je crois commencer à comprendre ce qu'il me faudrait faire...
je voudrais : "où est ce ? là ? c'est ça ?" et j'obtiens ceci : <http://d.boccoz.free.fr/testeur/iso-8859-1.jpg> à cause du glissement d'encodage iso-8859-1 / mac roman visible là : <http://d.boccoz.free.fr/testeur/differences.jpg>
le fichier que le script php crée sur le serveur est en iso-8859-1 (sortie 'brute' de mysql, par défaut en 8859-1). arrivé en téléchargement (fpassthru) sur un macintosh, il n'est pas décodé en mac roman (d'où la nécessité d'un utilitaire quelconque pour le rendre 'lisible' par certaines applis mac -word, excel,... pour ne pas les nommer).
ce qu'il me faudrait donc faire (pour créer ce 'féchu fichier' de texte spécifique aux utilisateurs macintosh) c'est un select mysql au format mac roman. mais avec ma version 4.0.24 (en iso-8859-1), je n'y arrive pas.
j'ai cru comprendre que je devais utiliser : "SELECT CONVERT(`mon_champ` USING macroman) FROM `ma_table`..."
mais j'ai une erreur : " #1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'USING macroman) FROM `ma_table` WHERE 1 LIMIT 0, 30' at li ".
apparement CONVERT...USING ne fonctionne qu'à partir de la version 4.1 de mysql...
je me permets de re-crossposter sur 'fr.comp.applications.sgbd' mais je garde le suivi sur 'fr.comp.infosystemes.www.auteurs'
-- @@@@@ E -00 comme on est very beaux dis ! ' `) / |_ =="
Pierre Goiffon
denisb wrote:
le fichier que le script php crée sur le serveur est en iso-8859-1 (sortie 'brute' de mysql, par défaut en 8859-1). arrivé en téléchargement (fpassthru) sur un macintosh, il n'est pas décodé en mac roman (d'où la nécessité d'un utilitaire quelconque pour le rendre 'lisible' par certaines applis mac -word, excel,... pour ne pas les nommer).
ce qu'il me faudrait donc faire (pour créer ce 'féchu fichier' de texte spécifique aux utilisateurs macintosh) c'est un select mysql au format mac roman.
Vous pouvez aussi effectuer une conversion du fichier en lançant un appel shell (commande iconv si vous êtes sur Unix). Ou utiliser l'équivalent via les fonctions dédiées de PHP (http://www.php.net/manual/en/ref.iconv.php)
denisb wrote:
le fichier que le script php crée sur le serveur est en iso-8859-1
(sortie 'brute' de mysql, par défaut en 8859-1).
arrivé en téléchargement (fpassthru) sur un macintosh, il n'est pas
décodé en mac roman (d'où la nécessité d'un utilitaire quelconque pour
le rendre 'lisible' par certaines applis mac -word, excel,... pour ne
pas les nommer).
ce qu'il me faudrait donc faire (pour créer ce 'féchu fichier' de texte
spécifique aux utilisateurs macintosh) c'est un select mysql au format
mac roman.
Vous pouvez aussi effectuer une conversion du fichier en lançant un
appel shell (commande iconv si vous êtes sur Unix). Ou utiliser
l'équivalent via les fonctions dédiées de PHP
(http://www.php.net/manual/en/ref.iconv.php)
le fichier que le script php crée sur le serveur est en iso-8859-1 (sortie 'brute' de mysql, par défaut en 8859-1). arrivé en téléchargement (fpassthru) sur un macintosh, il n'est pas décodé en mac roman (d'où la nécessité d'un utilitaire quelconque pour le rendre 'lisible' par certaines applis mac -word, excel,... pour ne pas les nommer).
ce qu'il me faudrait donc faire (pour créer ce 'féchu fichier' de texte spécifique aux utilisateurs macintosh) c'est un select mysql au format mac roman.
Vous pouvez aussi effectuer une conversion du fichier en lançant un appel shell (commande iconv si vous êtes sur Unix). Ou utiliser l'équivalent via les fonctions dédiées de PHP (http://www.php.net/manual/en/ref.iconv.php)