Mi sono imbattuto in un nuovo problema che non avevo mai visto prima: il mio cliente sta aggiungendo file a un progetto che abbiamo creato e alcuni dei nomi di file contengono caratteri speciali perché alcune delle parole sono spagnole .Caratteri non ascii nell'URL
Ad esempio un file che sto testando ha un valore. Sto chiamando quell'immagine in un file css come immagine di sfondo, ma in Safari non viene visualizzata. Ma lo fa su FF e Chrome.
Come test ho incollato il collegamento nel browser e la stessa cosa. Funziona su FF e Chrome ma Safari genera un errore. Quindi i personaggi della lingua lo stanno lanciando credo?
Firefox converte il seguente URL e modifica il valore da a% CC% 81 e carica l'immagine.
http://www.themediacouncil.com/test/nonascii/LA-MAR_Cebiche -Clássico_foto-Henrique-Peron-470x120-1371827671.jpg
Si può vedere si rompe sopra ... ma FF e Chrome convertire tale a: http://www.themediacouncil.com/test/nonascii/LA-MAR_Cebiche-Cla%CC%81ssico_foto-Henrique-Peron-470x120-1371827671.jpg
è anche possibile vedere questo in azione qui: http://jsfiddle.net/Md4gZ/2/
.testbox { width:340px; height:100px; background:url('http://www.themediacouncil.com/test/nonascii/LA-MAR_Cebiche-Clássico_foto-Henrique-Peron-470x120-1371827671.jpg') no-repeat top left; }
Così che cosa è il modo giusto per gestire questa situazione. Sto sviluppando in PHP e WORDPRESS. Preferirei non dover dire al cliente di tornare indietro e sostituire tutti i file con caratteri speciali.
Qualsiasi aiuto è apprezzato. Grazie!
suggerisci di dichiararlo nell'intestazione in modo che il browser converta i caratteri da solo o una specie di script? Ho la stessa impostazione dell'OP (Wordress) –
Non posso dire di alcuna configurazione specifica, ma in generale suggerisco che URL: s sono codificati nel codice in cui appaiono (in html o qualsiasi altra cosa) usando la stessa convenzione che il web server lo fa. Se hai qualche influenza su quale convenzione usi il web server, ti suggerisco di usare sequenze di byte UTF-8 usando% HH. Dichiarandolo nell'intestazione? Non sono sicuro che avrebbe alcun effetto e probabilmente dipende dal browser. – njlarsson