Pagina 1 di 1

PHP trattare codifiche sconosciute

Inviato: venerdì 7 marzo 2008, 11:00
da nulll
in un'area amministrativa ho un modulo che carica un file.

Voglio convertire questo file alla codifica generale che uso in tutti gli aspetti di tutti i progetti (UTF8).

So che ci sono varie funzioni in php per convertire le stringhe (iconv, mb_detect_encoding, ecc...) ma tutte necessitano la conoscenza della codifica originale del file...

Possibile che non ci sia un modo per intrepretare (un margine di errore è accettabilissimo) la codifica di un file?

PS

Codice: Seleziona tutto

string mb_detect_encoding  ( string $str  [, mixed $encoding_list  [, bool $strict  ]] )
sembra non funzionare visto che (ma sono sicuro che sono io che sabglio):
1. senza fornire $encoding_list va a prendere la lista di default che da me è ascii, utf-8
2. fornendo $encoding_list vince sempre la prima lista dell'elenco (che senso ha??)

Re: PHP trattare codifiche sconosciute

Inviato: venerdì 7 marzo 2008, 12:31
da Volans
La funzione che hai citato (mb_detect_encoding) è quella giusta, l'importante è passargli la lista in modo corretto, ad esempio se pensi che è possibile che arrivino files in cp1252 (codifica windows), metti questa per prima, poi iso8859-1 e come ultima utf8.

Ovviamente se vuoi un riconoscimento con pochissimo margine di errore dovresti far passare il contenuto più volte per quella funzione facendo ad ogni passaggio solo 2-3 confronti.

Ho letto che vuoi usare questo sistema per interi files... sicuro che siano files di testo?

Re: PHP trattare codifiche sconosciute

Inviato: venerdì 7 marzo 2008, 13:03
da nulll
i files in questione sono files html.

cmq x le verifcihe che ho fatto (perlomeno da me in locale) la funzione mb_detect_encoding non funziona.

torna sempre il primo valore della stringa passata come secondo parametro.  (bad)