[Corrigé 2.9] Problème pièce jointe avec Accent (2.8)

Vous avez trouvé un bug dans l'application (dernière version stable ou bêta): Décrivez le ici afin que la correction soit intégrée a la prochaine version.
Répondre
yannickq
Gsup LEVEL 2
Messages : 44
Enregistré le : mer. 13 mars 2013 14:49

Bonjour,

Je rencontre un soucis lors de la création d'un ticket avec pièce jointe contenant des accents dans le nom du fichier. Lors de l'ajout tous se passe correctement mais lorsque l'on souhaite ouvrir la pièce jointe, le fichier n'est pas trouvé.

Côté serveur le fichier est enregistré avec des ? à la place des accents et lors de l'ouverture sur navigateur les accents sont remplacés par des é (ou autre en fonction de l'accent)

Auriez-vous une solution même temporaire à ce souci ?

Merci

Gestsup 3.1.35 - OS: Linux Debian 8 Jessie x86_64, Apache: 2.4.10, MySQL: 5.5.55-0+deb8u1, PHP: 5.6.30-0+deb8u1
yannickq
Gsup LEVEL 2
Messages : 44
Enregistré le : mer. 13 mars 2013 14:49

Pour info, pour le moment j'ai ajouté des str_replace pour les à et é, mais si vous avez une solution plus adéquate ;)

Gestsup 3.1.35 - OS: Linux Debian 8 Jessie x86_64, Apache: 2.4.10, MySQL: 5.5.55-0+deb8u1, PHP: 5.6.30-0+deb8u1
Avatar du membre
Flox
Administrateur du site
Messages : 9048
Enregistré le : jeu. 21 juin 2012 19:00

Bonjour,

en attendant la 2.9 vous pouvez remplacer dans le fichier /core/upload.php:

Code : Tout sélectionner

$file1_rename  = str_replace('\'',' ',$_FILES['file1']['name']);
$file2_rename  = str_replace('\'',' ',$_FILES['file2']['name']);
$file3_rename = str_replace('\'',' ',$_FILES['file3']['name']);
$file4_rename = str_replace('\'',' ',$_FILES['file4']['name']);
$file5_rename = str_replace('\'',' ',$_FILES['file5']['name']);
par

Code : Tout sélectionner

$file1_rename  = str_replace('\'',' ',$_FILES['file1']['name']);
$file2_rename  = str_replace('\'',' ',$_FILES['file2']['name']);
$file3_rename = str_replace('\'',' ',$_FILES['file3']['name']);
$file4_rename = str_replace('\'',' ',$_FILES['file4']['name']);
$file5_rename = str_replace('\'',' ',$_FILES['file5']['name']);
$file1_rename = strtr($file1_rename,'àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ','aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY');
$file2_rename = strtr($file2_rename,'àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ','aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY');
$file3_rename = strtr($file3_rename,'àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ','aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY');
$file4_rename = strtr($file4_rename,'àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ','aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY');
$file5_rename = strtr($file5_rename,'àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ','aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY');
cdt
GestSup: 3.2.47 | Debian: 12 | Apache: 2.4.58 | MariaDB: 11.3.2 | PHP: 8.3.6 | https://doc.gestsup.fr/
Répondre