Sto recuperando e-mail da un server di posta e convertendo il messaggio in set di caratteri UTF-8 e salvandolo in DB. Per convertire il set di caratteri sto usando mb_convert_encoding ma non riesce a convertire gb2312
e ks_c_5601-1987
. Su Google ho trovato che invece di gb2312
posso usare CP936
e per ks_c_5601-1987
utilizzare CP949
.Come normalizzare i nomi di codifica, come ks_c_5601-1987 in CP949?
Passare all'approccio precedente significherebbe mantenere un elenco separato di associazioni di charset nel mio codice. C'è un modo per normalizzare i nomi delle codifiche ai nomi internamente supportati da PHP, eliminando così la necessità di mantenere una mappa localmente?
io suggerirei yo generalizzare la domanda per chiedere un modo per normalizzare i nomi delle codifiche ai nomi internamente supportati da PHP. Sarebbe una domanda utile e generalmente applicabile. – deceze
Grazie bel suggerimento modificato la domanda –
'iconv' riconosce' ks_c_5601-1987' ma non può convertire. 'mb_convert_encoding' non supporta affatto' 949' o 'ks_c_5601-1987'. 'iconv' riconosce e può comunque convertire' gb2312'. – Esailija