Ho appena trascorso 2 giorni a indagare su questo problema. Il nostro problema era che i collegamenti mailto: sulle nostre pagine web codificate utf-8 non funzionavano per gli utenti di Outlook se la stringa subject = conteneva caratteri non ascii, come ad esempio caratteri norvegesi. Un esempio è: "mailto: [email protected]? Subject = julegløgg og fårikål"
Da quanto ho appreso finora, Outlook semplicemente non gestisce nient'altro che caratteri ASCII e iso-8859-1. Quindi, quando provi a cliccare sul link mailto sopra (o da IE o Firefox), Outlook non riesce a decodificare i caratteri, lasciando il soggetto rotto e contenente caratteri "strani".
Quindi il passo successivo era provare a ricodificare le pagine in ISO-8859-1. Quello che abbiamo fatto è stato quello di sostituire il collegamento mailto originale sulla pagina utf-8 con un link ad un -service "email-to-iso", in questo modo:
http://url.com/service.php?service=util.mailtoencode&mailto=mail%40coretrek.no%3Fsubject%3Demne+%C3%B8%C3%A6%C3%A5+emne
Questa pagina sarebbe convertire i caratteri mailto a iso-8859-1 e quindi restituisce l'intero contenuto della pagina in iso-8859-1. Un javascript nella pagina, contenente "location.href = 'mailto: ...'" è stato utilizzato per aprire automaticamente il client di posta del client.
Finora tutto sembrava ok. Funziona in realtà in Internet Explorer, sia con Thunderbird che con Outlook (testato su IE7 su WinXP con Outlook Express e TB 2).
MA il problema ora è in realtà Firefox. Sembra che Firefox non sia in grado di decodificare gli url con url contenenti caratteri trovati solo in ISO-8859-1 ma non in ASCII (come il norvegese å, rappresentato da% E5 quando codificato). Lo stesso å viene gestito correttamente se la codifica della pagina è utf-8, ma sembra che gli sviluppatori di Firefox abbiano dimenticato di testare caratteri speciali insieme al set di caratteri ISO-8859-1. Il risultato è che Firefox trasmette una stringa non decodificata (che contiene ancora% E5 intstead di å) al client di posta elettronica. E, incredibilmente, questo è gestito correttamente da Outlook (che riesce a decodificare la stringa stessa), ma NON da Thunderbird, che probabilmente ha lo stesso bug di Firefox. Se non si url codifica l'oggetto, la stringa viene passata correttamente a Thunderbird, ma non a Outlook.
Abbiamo anche provato altri metodi di codifica, come htmlentities, htmlspecialchars, codifica base64, ecc., Ma tutti falliscono in un modo o nell'altro.
Quindi, riassunte:
Pagine codifica UTF-8:
IE fallisce sempre
FF -> Thunderbird: OK
FF -> Outlook: FAIL
pagine codificati in iso-8859-1:
IE: OK
FF -> Thunderbird: non riesce se il soggetto è URL codificato, ok se non)
FF -> Outlook: Non riesce se il soggetto non è URL codificato, ok se codificato) (questo è Windows, su Ubuntu Linux FF e TB funzionano sempre bene).
Sperando questo è stato utile per gli altri che hanno lo stesso problema.
Ho lo stesso problema . Puoi scegliere un aswer o postare il tuo? – AyexeM