J'ai une installation de bugzilla mis en place avec des modèles anglais et japonais pour soutenir nos utilisateurs aux États-Unis et au Japon. Mes utilisateurs ont un problème avec les pièces jointes qui ont des caractères japonais dans le nom de fichier; Les noms de fichiers en anglais sont OK. Dites que je télécharge un fichier appelé "Blah 操作手 .doc". Quand je vais télécharger le fichier, je reçois une invite me demandant de le sauvegarder sous "= _UTF-8_Q_Blah = E6 = 93 = 8D = E4 = BD = 9C = E6 = 89 = 8B _ =. Doc". Toutes les données du fichier sont conservées, mais le nom de fichier ne semble pas être décodé correctement. Souvent, le nom de fichier se termine si longtemps qu'il perd l'extension d'origine, et l'utilisateur obtient une page remplie d'ordures s'ils essaient d'ouvrir la pièce jointe dans leur navigateur. Cela se produit même si le champ "filename" de la base de données affiche correctement les caractères d'origine.Pourquoi mes noms de fichiers UTF-8 dans bugzilla sont-ils des noms de fichiers imprimables?
Cela se produit avec tous les types de fichiers qui contiennent des caractères non-ASCII - doc, xls, pdf, png, txt, etc. J'ai été en mesure de reproduire cela sur les modèles par défaut pour Bugzilla 3.6.3, indépendamment du paramètres ou langue du modèle.
Ceci est principalement un problème pour Internet Explorer. Chrome et Safari ont des problèmes similaires, mais je n'ai pas vraiment d'utilisateurs qui utilisent non plus. Firefox fonctionne bien et renvoie le nom de fichier d'origine comme prévu.
Y at-il un moyen que je peux résoudre ce problème?
Merci pour la réponse. Le comportement semble varier en fonction du navigateur - sur IE, Firefox, Chrome et Safari, seul Firefox n'a eu aucun problème avec le nom de la pièce jointe. Puisque presque tous mes utilisateurs japonais utilisent IE, savez-vous s'il y a un tweak au schéma d'encodage que je pourrais faire pour supporter IE comme une solution de contournement temporaire? – Troyen
Il pourrait y avoir, bien que je ne le sache pas désinvolte. Ce serait une modification de attachment.cgi. –
Il semble que IE supporte URI Escaping, donc encoder le nom de fichier avec uri_escape_utf8() servira quelque chose que IE peut décoder et traduire au bon nom de fichier UTF-8. Firefox ne supporte pas cela, donc j'ai dû tricher et utiliser l'agent utilisateur pour déterminer quand utiliser la méthode URI et quand utiliser MIME-Q. IE perdra toujours l'extension même avec cette méthode sauf si je désactive les pièces jointes en ligne, ce qui est OK pour mon installation. Il est également à noter qu'il semble y avoir une limite de 100 octets (y compris l'extension) sur la longueur du nom de fichier, ce qui pourrait causer d'autres problèmes. – Troyen