4 votos

¿Cómo puedo abrir archivos con nombres japoneses?

Organizo mis ebooks y mangas japoneses usando los respectivos títulos japoneses como nombres de archivo. Luego accedo a este contenido desde mi dispositivo Anrdoid montando un cifs compartido con cifsmanager. Sin embargo, no puedo abrir los medios de comunicación utilizando mi dispositivo Android 4.1 (AOSP). Los caracteres no asiáticos en mi sistema de archivos se muestran sólo como signos de interrogación, por ejemplo. /mnt/sdcard/manga/??????/ . El comportamiento de los errores que varias aplicaciones dan van desde File does not exist (Administrador de archivos) a nada en absoluto (PerfectViewer).

3voto

Narayanan Puntos 4457

Usted se enfrenta a este problema porque ( como dijo @liamwli ) carece de la fuente requerida y también posiblemente por la falta de suficientes bibliotecas en su actual ROM.

Por esta razón, no puede mostrar el nombre del archivo correctamente y como ramificación de este problema, las diferentes aplicaciones se comportan de manera diferente según la forma en que el desarrollador manejó esta situación.

¿Qué se puede hacer?

Esto depende de pocos factores:

Si su teléfono está rooteado, extraiga DroidSansFallBack.ttf de /system/fonts a su ordenador y examinar si tiene los caracteres necesarios en japonés. Asumo que puedes leer japonés. Esto es para asegurar la primera parte del motivo explicado en la sección "por qué".

Si no se muestran los caracteres japoneses, por favor, intente encontrar un adecuado Fuente TrueType (TTF) que muestra los caracteres japoneses en el PC. Copie este archivo a la carpeta mencionada arriba con DroidSansFallBack.ttf reemplazando el archivo existente (después de la copia de seguridad). Después de un reinicio puede ser capaz de ver los personajes correctamente. Entonces las aplicaciones podrían ser capaces de abrir el archivo.

En caso de que aún no pueda abrir dichos archivos, por favor, regrese al archivo TTF respaldado.

3voto

Lie Ryan Puntos 15629

No creo que esto sea un problema de fuentes. Las aplicaciones no necesitan ser capaces de mostrar los caracteres para manejar los archivos que usan esos caracteres. Además, las Sanciones para droides admiten caracteres japoneses. En mi Galaxy Nexus de serie (no un teléfono japonés), los nombres de archivos japoneses se manejan y se muestran bien usando el Administrador de Archivos OI y el Explorador de Archivos ES.

Los nombres de archivos en Linux y en los sistemas de archivos Unix (por ejemplo, ext2/ext3/ext4) son sólo secuencias de bytes porque el núcleo de Linux es transparente a la hora de codificar, es decir, al núcleo no le importa la codificación de los nombres de archivo. La codificación del nombre de archivo se considera un problema a nivel de aplicación. Por el contrario, la API de archivos Java (y, por lo tanto, la API de archivos Java de Android) es consciente de la codificación e intentará decodificar los nombres de los archivos según la codificación predeterminada del sistema. La codificación predeterminada del sistema en Android es utf-8. La situación es diferente si los archivos se almacenan en una tarjeta SD formateada con sistemas de archivos de Windows, por ejemplo, VFAT o NTFS. Estos sistemas de archivos especifican una cierta codificación en el disco para los nombres de los archivos.

Las aplicaciones que manejan directamente archivos provenientes de otro sistema, como los programas de transferencia de archivos (FTP, etc.) y los programas de descompresión (Tar, Zip, etc.) se supone que traducen los nombres de los archivos de los sistemas remotos o de los archivos internos a la codificación por defecto del sistema local. Sin embargo, el núcleo no hace cumplir esto, por lo que es posible que una aplicación mal escrita (nativa) produzca archivos con una codificación de nombres de archivo que no coincida con la codificación predeterminada del sistema.

Supongo que tienes nombres de archivos que no están codificados en utf-8, y el Java File API no pudo decodificar estos nombres de archivos. Intenta renombrar y recodificar los nombres de los archivos o usa un programa de transferencia de archivos que sepa cómo traducir los nombres de los archivos a la codificación del sistema.

2voto

Liam W Puntos 6478

tendrás que instalar una fuente japonesa en tu dispositivo.

Para hacer esto, tendrías que estar rooteado.

Otra solución: Mira a ver si puedes cambiar el idioma del sistema al japonés.

Es posible que puedas descargar una aplicación de Google Play que instale automáticamente la fuente en tu dispositivo.

2voto

THelper Puntos 631

Si estás rooteado, creo que la respuesta de Narayanan lo dice todo. copiar una fuente japonesa a la system\fonts carpeta

Sin embargo, si no está rooteado, puede instalar una aplicación de explorador de archivos que incluya una fuente japonesa. Hice una búsqueda rápida en Google y los siguientes exploradores de archivos (digamos que) son compatibles con el japonés:

No estoy del todo seguro de que esto resuelva tu problema para abrir los archivos. Puede que también necesites instalar programas de visualización con soporte japonés.

Por cierto, ¿estás seguro de que tienes Android 4.1? Recuerdo haber leído que Jelly Bean tiene un soporte nativo japonés (mejorado).

2voto

brianbaligad Puntos 328

Debí haber identificado que este problema sólo ocurre cuando se montan los medios de comunicación de forma remota utilizando cifsmanager. Más vale tarde que nunca, supongo. La solución es pasar un parámetro usando el campo de opciones: iocharset=utf8 .

El parámetro le dice al módulo cifs que use utf8 como el conjunto de caracteres cuando monte la parte de samba. Esto puede llegar a ser innecesario en el futuro, ya que tendría sentido tener este conjunto por defecto en primer lugar.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X