2012-02-21 25 views

Respuesta

5

El juego de caracteres de salida (el segundo parámetro) debe ser diferente del juego de caracteres de entrada (primer parámetro). Si son iguales, entonces si hay caracteres UTF-8 ilegales en la cadena, iconv los rechazará como ilegales según el juego de caracteres de entrada.

+0

Cómo se propone una solución? De hecho, he [leído] (http://blog.liip.ch/archive/2005/01/24/how-to-get-rid-of-invalid-utf-8-characters.html) [that] (http://www.php.net/manual/en/function.iconv.php#78972) esto debería funcionar – Znarkus

+0

Sí, he visto ese enlace, pero eche un vistazo a este https://github.com/EllisLab/CodeIgniter/issues/261. Tengo entendido que iconv no hace codificación de entrada ahora, pero podría estar equivocado. El enlace de arriba también tiene un enlace a una solución alternativa, que se encuentra en https://gist.github.com/1262496. –

+1

Eso tiene sentido. Primero probaré 'mb_convert_encoding ($ string," UTF-8 "," UTF-8 ")', y si no funciona, probaré la esencia. ¡Gracias! – Znarkus

-1

simplemente ignorar notificación, puede utilizar "@":

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

+4

Esto no resuelve el problema con la cadena – SztupY

+0

La cadena devuelta está vacía – clod986

+0

No debe hacer eso, porque en algunos casos puede obtener cadena vacía. – champion

Cuestiones relacionadas