Hola… estoy tratando de importar un archivo en una base encoding= LATIN1 y cuando el archivo trae caracteres especiales como comillas simples no me deja importarlo.(imagen1).
Aplique una función que reemplaza los caracteres especiales y cuando quiero visualizarlos en un cuadro se muestran con los caracteres de html.(imagen2)
function limpiarString($string) //función para limpiar strings
{
$string = strip_tags($string);
$string = htmlentities($string);
return stripslashes($string);
}
Como hago para visualizar bien los datos en el cuadro?
Segun lo que veo, el problema con los datos es que tienen delimitadores que no son escapados correctamente. Si estas enviando los datos directamente a la base de esa manera, no te va a funcionar, si antes de pegarlos en el armado de la SQL los haces pasar por la funcion quote, dichos caracteres se escaparian y no deberias tener mayor inconveniente.
Aplique una función que reemplaza los caracteres especiales y cuando quiero visualizarlos en un cuadro se muestran con los caracteres de html.(imagen2)
function limpiarString($string) //función para limpiar strings
{
$string = strip_tags($string);
$string = htmlentities($string);
return stripslashes($string);
}
Como hago para visualizar bien los datos en el cuadro?
El tema es el siguiente, la funcion htmlentities te convierte ciertos caracteres en sus contrapartes HTML, los cuales deben por tanto ser interpretados, el tema es que por defecto las columnas de los cuadros no permiten codigo HTML como valor y por tanto dichos valores no seran interpretados en el cliente, dandote el resultado que tenes en la imagen.
No deberia ser necesario que le apliques una funcion de conversion a datos que estan en el mismo encoding que manejas en la aplicacion, si hubiera diferencias seria otro el caso… de todas maneras, siendo que el cuadro no permite valores HTML, aplicarle la funcion htmlentities no te beneficia debido a que el cuadro internamente ya utiliza la misma y por tanto se estaria aplicando doblemente.