4 votes

Comment puis-je ouvrir des fichiers dont le nom est en japonais ?

J'organise mes livres électroniques et mes mangas japonais en utilisant les titres japonais respectifs comme noms de fichiers. J'accède ensuite à ce contenu depuis mon appareil Android en montant un partage cifs avec cifsmanager. Cependant, je ne parviens pas à ouvrir le média à l'aide de mon appareil Android 4.1 (AOSP). Les caractères non ASCII de mon système de fichiers apparaissent comme des points d'interrogation, par exemple /mnt/sdcard/manga/??????/ . Le comportement d'erreur que les différentes applications vont donner varie de File does not exist (File Manager) à rien du tout (PerfectViewer).

3voto

Narayanan Points 7114

Vous êtes confronté à ce problème parce que ( comme l'a dit @liamwli ) vous n'avez pas la police de caractères requise et peut-être aussi à cause de l'absence de bibliothèques suffisantes dans votre ROM actuelle.

Pour cette raison, il est incapable d'afficher le nom du fichier correctement et, en conséquence, les applications se comportent différemment selon la façon dont le développeur a géré cette situation.

Que peut-on faire ?

Cela dépend de plusieurs facteurs :

Si votre téléphone est enraciné, extrayez DroidSansFallBack.ttf de /system/fonts sur votre ordinateur et vérifiez s'il contient les caractères japonais requis. Je suppose que vous savez lire le japonais. Ceci afin de garantir la première partie de la raison expliquée dans la section "pourquoi".

Si vous n'avez pas de caractères japonais affichés, essayez de trouver un caractère approprié. Police TrueType (TTF) qui affiche les caractères japonais dans le PC. Copiez ce fichier dans le dossier mentionné ci-dessus avec DroidSansFallBack.ttf en remplaçant le fichier existant (après la sauvegarde). Après un redémarrage, vous mai être capable de voir les caractères correctement. Ensuite, les applications pourraient être en mesure d'ouvrir le fichier.

Si vous n'êtes toujours pas en mesure d'ouvrir ces fichiers, veuillez rétablir le fichier TTF sauvegardé.

0 votes

Cela semble prometteur, j'essaierai et je vous tiendrai au courant !

3voto

Thej Points 655

Je ne pense pas qu'il s'agisse d'un problème de police. Les applications n'ont pas besoin de pouvoir afficher les caractères pour traiter les fichiers utilisant ces caractères. De plus, les Droid Sans prennent en charge les caractères japonais. Dans mon Galaxy Nexus (qui n'est pas un téléphone japonais), les noms de fichiers japonais sont bien gérés et affichés avec OI File Manager et ES File Explorer.

Les noms de fichiers dans les systèmes de fichiers Linux et Unix (par exemple ext2/ext3/ext4) ne sont que des séquences d'octets car le noyau Linux est transparent au codage, c'est-à-dire qu'il ne se soucie pas du codage des noms de fichiers. L'encodage des noms de fichiers est considéré comme un problème au niveau de l'application. En revanche, l'API de fichier Java (et donc l'API de fichier Java d'Android) tient compte de l'encodage et tente de décoder les noms de fichiers en fonction de l'encodage par défaut du système. L'encodage par défaut du système dans Android est utf-8. La situation est différente si les fichiers sont stockés sur une carte SD formatée à l'aide des systèmes de fichiers Windows, par exemple VFAT ou NTFS. Ces systèmes de fichiers spécifient un certain encodage sur le disque pour les noms de fichiers.

Les applications qui manipulent directement des fichiers provenant d'un autre système, comme les programmes de transfert de fichiers (FTP, etc.) et les programmes de décompression (Tar, Zip, etc.) sont censés traduire les noms de fichiers des systèmes distants ou des archives internes dans l'encodage par défaut du système local. Cependant, ceci n'est pas appliqué par le noyau, il est donc possible pour une application (native) mal écrite de produire des fichiers avec un encodage de nom de fichier qui ne correspond pas à l'encodage par défaut du système.

Je pense que les noms de vos fichiers ne sont pas encodés en utf-8 et que l'API de fichier Java n'a pas été en mesure de décoder ces noms de fichiers. Essayez de renommer et de réencoder les noms de fichiers ou utilisez un programme de transfert de fichiers qui sait comment traduire les noms de fichiers dans l'encodage du système.

0 votes

Vous êtes sur la bonne voie. Il ne s'agit pas d'un problème de police de caractères. Je me suis trompé dans ma question initiale en omettant un détail important : Je monte ma bibliothèque en utilisant cifsmanager. Il s'avère que si le contenu est copié directement sur le périphérique, cela fonctionne bien. /faceplant

2voto

Liam W Points 8336

Vous devrez installer une police japonaise sur votre appareil.

Pour ce faire, vous devez être enraciné.

Une autre solution de contournement : Voyez si vous pouvez changer la langue du système en japonais.

Vous pouvez peut-être télécharger une application sur Google Play qui installera automatiquement la police sur votre appareil.

0 votes

Les autres applications ne peuvent pas installer de polices sur les appareils non rootés.

0 votes

@THelper Je n'ai pas dit que c'était possible. J'ai dit qu'il fallait être rooté pour installer une police sur un appareil.

0 votes

Ah, je me suis trompé. Je pensais que vous mentionniez une solution de contournement pour les cas où le système n'est pas enraciné.

2voto

Hank Fay Points 139

Si vous êtes enraciné, je pense que la réponse de Narayanan a tout dit ; il suffit de copier une police japonaise dans le system\fonts dossier

Cependant, si vous n'êtes pas enraciné, vous pouvez installer une application d'exploration de fichiers qui inclut une police japonaise. J'ai fait une recherche rapide sur Google et les explorateurs de fichiers suivants (disent qu'ils) supportent le japonais :

Je ne suis pas tout à fait sûr que cela résout votre problème d'ouverture des fichiers. Il se peut que vous deviez également installer des programmes de visualisation prenant en charge le japonais.

BTW, êtes-vous sûr d'avoir Android 4.1 ? Je me souviens avoir lu que Jelly Bean avait un support natif japonais (amélioré).

1 votes

Android a toujours pris en charge les fichiers japonais. L'amélioration apportée par la version 4.1 ne concerne que l'affichage des caractères. Les caractères qui étaient auparavant affichés à l'aide de glyphes chinois sont désormais affichés à l'aide de glyphes spécifiques au Japon lorsque les paramètres linguistiques du système sont définis sur le japonais. Ce changement n'affecte pas la manière dont ces caractères sont traités.

0 votes

J'ai en fait 6 appareils Android, mais l'appareil spécifique que j'utilise pour lire le contenu japonais est un Kindle Fire avec un lecteur de carte de crédit. Rom AOSP Jelly Bean de hashcode (10.10 build). Les roms basées sur CM et AOKP que j'ai essayées ont également le même comportement. Je vais essayer ces gestionnaires de fichiers et je vous tiendrai au courant.

2voto

malexmave Points 1837

J'aurais dû préciser que ce problème ne se produit que lors du montage du support à distance à l'aide de cifsmanager. Mieux vaut tard que jamais, je suppose. La solution est de passer un paramètre en utilisant le champ d'options : iocharset=utf8 .

Ce paramètre indique au module cifs d'utiliser utf8 comme jeu de caractères lorsqu'il monte le partage samba. Cela peut devenir inutile à l'avenir, car il serait logique d'avoir ce paramètre par défaut en premier lieu.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X