openSUSE descompacte o problema unicode

0

Na máquina Linux (openSUSE) estou tentando implantar no aplicativo Tomcat 8 (arquivo war) que contém arquivos com nomes com caracteres Unicode.

Dentro do arquivo war, o nome parece:

бжк-природний-1496336830201.xml

mas depois da implantação, o arquivo se parece com:

???-?????????????-1496336830201.xml

Além disso, quando descompactar manualmente os arquivos, os nomes também são corrompidos.

Como dizer que o unzip e o Tomcat implementam corretamente os nomes dos arquivos?

A propósito - eu baixei este arquivo war para minha máquina Windows e o descompactei - tudo está parecendo bem.

ATUALIZADO

Este é um exemplo de arquivo war com o nome do arquivo unicode dentro: arquivo war

O que há de errado com o nome do arquivo dentro dessa guerra?

    
por alexanoid 03.06.2017 / 14:33

2 respostas

1

Eu acho que você precisa do pacote unzip-rcc . Eu testei no meu computador que, se eu usar o unzip-rcc, eu vou ter sucesso. Enquanto eu uso o unzip original, ele falha.

Eu sou um usuário chinês que também precisa do Unicode. Toda vez que eu instalo o openSUSE, este pacote é instalado em alta prioridade. ; -)

    
por 04.06.2017 / 07:17
0

O WAR contém, na verdade, o nome do arquivo codificado em UTF-8. No entanto, o sinalizador que diz isso (bit # 11 dos sinalizadores de finalidade geral) é indefinido, mas isso é possível, pois o comando JAR usa outra variante de codificação de nome (esse é o caso do comando JAR que tenho).

Portanto, a verdadeira resposta é: não use um comando ZIP normal para descompactar, mas use o próprio comando JAR:

jar -xvf api.war

Rendimentos:

created: WEB-INF/
created: WEB-INF/classes/
created: WEB-INF/classes/sample-data/
created: WEB-INF/classes/sample-data/decisions/
created: WEB-INF/classes/sample-data/decisions/novobudivy_refs/
inflated: WEB-INF/classes/sample-data/decisions/novobudivy_refs/13я-стац_я-великого-фонтану-1496338558663.xml
    
por 05.06.2017 / 01:05