Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Forums MacBidouille _ Les Langages Du Web _ [RÉSOLU] AJAX PHP et caractères accentués

Écrit par : clarusad 21 Jun 2016, 08:26

Salut,
Mon script PHP doit lire des fichiers, dont les noms sont accentués et avec des espaces, dans un répertoire ; le tout via une requête AJAX.
Voici le déroulé :
1) le fichier test.php transmet en AJAX le répertoire à lire au fichier ajax-explorer.php

Code
xhr_object.open("GET" , "ajax-explorer.php" + "?" + "val_1=zdox/social" , true);

2) le fichier ajax-explorer.php reçoit les infos, les traites et les renvoies
J'ai bien mis ceci :
Code
header('Content-Type: text/html; charset=utf-8');
setlocale(LC_ALL, 'fr_FR.UTF-8');


Mon souci est que les caractères accentués s'affichent mal.
Merci pour votre aide

Écrit par : yponomeute 21 Jun 2016, 08:49

Salut,

Sans le code source du fichier ajax-explorer.php ça va être compliqué de t'apporter de l'aide.

Écrit par : clarusad 21 Jun 2016, 09:15

En fait, je m'aperçoit que c'est bien un problème d'accent ; je modifie donc le topic

D'ailleurs, pour info ça pose pas de problèmes en local :-/

Écrit par : clarusad 22 Jun 2016, 13:45

D'après mon hébergeur il s'agit d'un problème FTP lors de l'upload. J'ai essayé avec un autre client et groupe de fichiers par groupe de fichier (et non toute une arborescence d'un coup), ça semble être bon de cette manière.

Écrit par : Jaypee 22 Jun 2016, 16:29

Une recherche Google avec "ftp upload file encoding" donne quelques résultats:
- En FTP simple, le serveur doit être "FEAT compliant" pour supporter l'UTF-8
- En SFTP, UTF-8 est requis par défaut.

J-P

Écrit par : SuperCed 22 Jun 2016, 16:37

Faut parfois ajouter ça :

Code
echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />';

Écrit par : clarusad 25 Jun 2016, 20:18

@Jaypee : un client à conseiller ?
Merci.

Écrit par : Bru 27 Jun 2016, 19:47

Juste une question pour clarusad :
ce n'est pas clairement dit, mais est ce tu tentes de transférer via ton ajax une arborescence de fichier ?
Et si oui, quel client ftp utilises tu ? Celui de PHP (fonctions ftp_) ?

Écrit par : No6 28 Jun 2016, 14:04

Citation (Bru @ 27 Jun 2016, 20:47) *
Juste une question pour clarusad :
ce n'est pas clairement dit, mais est ce tu tentes de transférer via ton ajax une arborescence de fichier ?
Et si oui, quel client ftp utilises tu ? Celui de PHP (fonctions ftp_) ?


Je ne pense pas que ce soit cela.
Si tu as ce genre de question à régler tu devrai ouvrir un nouveau sujet en expliquant mieux ton probleme cool.gif

Écrit par : niap 28 Jun 2016, 18:55

Sans exemple de code, impossible de répondre.
Si la chaine UTF8 est complète (c'est à dire fichier lu encodé en UTF-8, fichier produit déclaré en UTF-8, connexion à une éventuelle base de données en UTF-8, table en UTF-8), essayes avec la fonction http://us2.php.net/manual/fr/function.utf8-encode.php.

Écrit par : clarusad 29 Jun 2016, 09:17

@Bru : Effectivement, c'est bien cela : je lis la liste des fichiers présents dans un répertoire, puis c'est transmit via ajax à une page qui met en forme.

Le problème est résolut, c'était un soucis de client FTP : Transmit n'envoyait en UTF-8. Ça passe nickel avec Fetch, Interarchy ou ForkLift.

Écrit par : Bru 29 Jun 2016, 10:02

Citation (No6 @ 28 Jun 2016, 15:04) *
Citation (Bru @ 27 Jun 2016, 20:47) *
Juste une question pour clarusad :
ce n'est pas clairement dit, mais est ce tu tentes de transférer via ton ajax une arborescence de fichier ?
Et si oui, quel client ftp utilises tu ? Celui de PHP (fonctions ftp_) ?

Je ne pense pas que ce soit cela.
Si tu as ce genre de question à régler tu devrai ouvrir un nouveau sujet en expliquant mieux ton probleme cool.gif


Et pan dans ton...

Citation (clarusad @ 29 Jun 2016, 10:17) *
@Bru : Effectivement, c'est bien cela : je lis la liste des fichiers présents dans un répertoire, puis c'est transmit via ajax à une page qui met en forme.




PS : No6, je n'ai pas de question à poser (donc pas de nouveau sujet) puisque je n'ai pas "expliqué de problème" dans mon message.

Écrit par : No6 29 Jun 2016, 10:49

Citation (Bru @ 29 Jun 2016, 11:02) *
PS : No6, je n'ai pas de question à poser (donc pas de nouveau sujet) puisque je n'ai pas "expliqué de problème" dans mon message.


Comme tu voudra !
Mais il y a au moins un Pb technique du à la limitation de la quantité de données transmises QUand utilise Ajax.
Et dans le cas du parcours d'une arborescence de fichier, si le contenu d'un dossier représente disons 200 fichiers, ben, ça coince... wink.gif

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)