Fazer o upload novamente do arquivo com o nome do arquivo unicode cria um duplicado idêntico

2

Estou executando um site do Django em um sistema Debian 6, com um servidor gunicorn e o nginx 0.7.67 gerenciando arquivos estáticos. A localidade do sistema de arquivos é configurada como sv_SE.UTF-8.

Ocorreu um problema em que outro usuário fez o upload de um arquivo com um nome de arquivo contendo caracteres unicode. Isso fez com que o servidor lançasse um erro 404 ao tentar enviar o arquivo carregado. Quando eu carreguei o mesmo arquivo do meu sistema, o site agora serve o arquivo corretamente. No entanto, ele não excluiu o arquivo antigo, embora pareça ser exatamente o mesmo arquivo em todos os aspectos. Abaixo está a lista atual de diretórios.

-rwxr-xr-x 1 www-data www-data 1188260 25 jan 22.53 Läxa 15_geometri.pdf
-rwxr-xr-x 1 www-data www-data 1188260 27 jan 10.45 Läxa 15_geometri.pdf

Como pode haver agora dois arquivos idênticos com o mesmo nome (aparente)? O que pode ter sido a causa do 404 em primeiro lugar, ou seja, o que há de errado com o primeiro upload? O URL é o mesmo de antes, só que agora ele não lança um 404.

    
por Samuel Linde 27.01.2012 / 10:57

2 respostas

0

Eles possuem diferentes codificações para o nome do arquivo. Qual é a saída quando você faz no diretório:

$ file -i *
    
por 01.02.2012 / 00:37
0

Visualmente, a mesma cadeia unicode pode ser diferente devido à normalização unicode. Você pode verificar se os nomes são diferentes, tentando fazer ls > a.txt e analisando o arquivo como dados binários, byte por byte.

PS. Espero que ls não realize nenhuma normalização unicode e forneça nomes de arquivos "como estão" ...

    
por 18.12.2015 / 17:41