PHP trattare codifiche sconosciute

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
nulll
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 853
Iscrizione: giovedì 7 settembre 2006, 12:29

PHP trattare codifiche sconosciute

Messaggio 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??)
Avatar utente
Volans
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4915
Iscrizione: domenica 4 dicembre 2005, 11:25
Contatti:

Re: PHP trattare codifiche sconosciute

Messaggio 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?
Volans
Prima di scrivere leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
nulll
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 853
Iscrizione: giovedì 7 settembre 2006, 12:29

Re: PHP trattare codifiche sconosciute

Messaggio 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)
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: Google [Bot] e 4 ospiti