As imagens enviadas não são exibidas na Biblioteca de Mídia se houver caracteres especiais em Palavras-chave do IPTC

9

Algumas imagens que são enviadas para o WordPress não aparecem na Biblioteca de Mídia. As imagens são carregadas e até mesmo cortadas para os tamanhos definidos, há uma entrada na Biblioteca de Mídia, mas a imagem de visualização não é exibida. Eu posso até usá-los como uma imagem em destaque e eles aparecem corretamente no meu site.

Consegui encontrar a causa do problema: se houver caracteres especiais (como umlauts alemão) no campo "Palavras-chave" do IPTC nos JPGs, esse problema ocorrerá. Assim que eu uso Exiftool para remover o campo "Palavras-chave" de um JPG que mostra os problemas mencionados, este arquivo funciona sem nenhum problema. Eu pude verificar este problema em três instalações do WordPress em dois servidores web completamente diferentes, hospedados por diferentes empresas. A versão do Wordpress é 4.4.1 .

Estou inclinado a relatar isso como um bug do WordPress. Mas antes de fazer isso, quero continuar o problema real. Eu pude descobrir que, para todas as imagens "ruins", não há _wp_attachment_metadata na tabela wp_postmeta .

Se eu cortar o arquivo wp-admin/includes/image.php e definir $meta['keywords'] = array(); em wp_read_image_metadata() , tudo funciona bem. Obviamente existe algum código que usa o resultado de wp_read_image_metadata() para criar uma _wp_attachment_metadata row para esse anexo. Mas onde está esse código que falha ao inserir _wp_attachment_metadata se houver um problema com strings codificadas erroneamente em $meta['keywords'] ?

E existe um gancho para anular esse problema nas minhas instalações? Uma instalação do WordPress que mostra que o problema é usado por vários editores que são extremamente inseguros. Dizendo-lhes para usar um software em seu PC para remover as tags IPTC com defeito é um não-ir. Mas eu também não quero hackear o arquivo principal mencionado em um sistema ao vivo.

Atualização: Aqui estão duas imagens idênticas em que uma mostra o problema, a outra não. A única diferença está no campo "keywords", onde se tem o conteúdo "sweet", o outro "süß" (= palavra alemã para sweet).

    
por z80crew 20.01.2016 / 16:14

2 respostas

2

Eu testei isso com uma imagem que criei no Photoshop, onde inseri a palavra "Süss" em todos os campos pensáveis do IPTC.

Enviei-o para a minha instalação do WordPress 4.6, que não possui plug-ins de manipulação de imagens instalados. O upload ocorreu sem problemas, as miniaturas corretas foram criadas no diretório de uploads e o campo de legenda foi carregado corretamente do campo IPTC correspondente.

Além disso, a miniatura foi exibida corretamente na biblioteca de mídia.

Então, estou inclinado a dizer que isso foi de fato um bug que foi resolvido desde então.

    
por cjbj 03.09.2016 / 14:58
0

O problema parece estar ocorrendo com caracteres especiais ("", no meu caso) em nomes de arquivos também. Aconteceu comigo, pelo menos, e eu nunca editei informações exif, então isso não está relacionado apenas ao campo IPTC. Agora funciona como esperado após a edição do nome do arquivo, removendo o acento.

O mais estranho é que, sabendo que os problemas de codificação são freqüentemente encontrados, não consigo encontrar nenhum post ou documento dizendo que caracteres especiais não são aceitáveis ou devem ser evitados em nomes de arquivos de bibliotecas wordpress, vendo os muitos problemas que as pessoas têm, seria aconselhável nunca usar qualquer ... ou pedir ao wordpress para trabalhar nisso. Talvez pelo menos apenas falhe em uploads se algum spechar for encontrado para impor nomes limpos e nenhum risco de problema adicional.

Espero que isso ajude alguém. A codificação de caracteres sempre foi uma bagunça na ciência da computação ... suspiro ...

    
por Omniarchos 05.01.2018 / 11:19