2011-07-13 12 views
5

¿Me puede ayudar con writtent problema a continuación:excel-lector problema utf

estoy consiguiendo error iconv() [function.iconv]: detecta un carácter ilegal en cadena de entrada xls Cuando leo archivar y convertirlo en csv. Estoy usando php-excel-library y me sale este error en la línea:

case 'iconv' :  
    $result = iconv('UTF-16LE', $this->_defaultEncoding, $string); 
break; 

¿El enybody saber cómo solucionarlo?

Respuesta

2

Significa que en su archivo hay una secuencia de bits que no se puede mapear en un char, b/c no tiene sentido y, por lo tanto, no se puede convertir a otra codificación.

Utilice la bandera // IGNORE como se describe here.

+0

también intento esto sin éxito – Gasper

+2

Si esto no lo ayudó, ¿por qué marcar esto como una ¿responder? – Tareq

0

Asegúrese de que el archivo esté codificado en UTF-16LE, ya que intentar importar el formato incorrecto arrojará ese tipo de errores.

Uso de PHP 5.3 o superior, ya que PHP < 5.3 no puede manejar codificación UTF-16 (consultar las notas aquí: link)

En lugar de ignorar es posible que desee probar // TRANSLIT tener iconv convertir el carácter de uno que es compatible en su codificación predeterminada (por ejemplo, convertir MS "citas de fantasía" a comillas sencillas/dobles regulares en ascii)

+0

He instalado php 5.3.8 y he intentado // TRANSLIT, y no funciona – kukipei

+0

¿Has podido identificar al personaje infractor? Pruebe la depuración para descubrir en qué línea del archivo se encuentra y acotar qué personaje es malo. Ese fue mi primer paso para descubrirlo. Si puede encontrar los caracteres ofensivos, es posible que pueda rastrear cuál es el problema con la codificación. –