2012-02-21 14 views

risposta

5

Il set di caratteri di uscita (il secondo parametro) dovrebbe essere diverso dal set di caratteri di input (primo parametro). Se sono uguali, se nella stringa sono presenti caratteri UTF-8 non validi, iconv li rifiuterà come illegali in base al set di caratteri di input.

+0

proponete una soluzione? Ho effettivamente [letto] (http://blog.liip.ch/archive/2005/01/24/how-to-get-rid-of-invalid-utf-8-characters.html) [che] (http://www.php.net/manual/en/function.iconv.php#78972) questo dovrebbe funzionare – Znarkus

+0

Sì, ho visto quel link, ma dai un'occhiata a questo https://github.com/EllisLab/CodeIgniter/temi/261. La mia comprensione è che iconv non fa la codifica in ingresso ora - ma potrei sbagliarmi. Il link sopra ha anche un link ad una soluzione alternativa, che è https://gist.github.com/1262496. –

+1

Questo ha senso. Per prima cosa proverò 'mb_convert_encoding ($ string," UTF-8 "," UTF-8 ")', e se non funziona proverò il succo. Grazie! – Znarkus

-1

di ignorare semplicemente preavviso, è possibile utilizzare "@":

$string = @iconv("UTF-8", "UTF-8//IGNORE", $string);

+4

Questo non risolve il problema con la stringa – SztupY

+0

La stringa restituita è vuota – clod986

+0

Non dovresti farlo, perché in alcuni casi puoi ottenere una stringa vuota. – champion

Problemi correlati