Problemas con caracteres especiales al migrar a 2.3

Hola, migre el toba de 2.1 a 2.3 usando el tutorial de migración de la pagina, anda todo pero tengo un problema con los caracteres especiales (acentos, etc). Por alguna razón no muestra ningún texto que tenga dichos caracteres. Pensé que podía ser un problema de encoding pero estoy seguro que desde la base de datos hasta el apache esta todo configurado para utilizar latin 1. El error se da tanto en cuadros, como en efs, etc.

Adjunto Screenshot

Sldos


Dibujo.PNG

Dibujo.PNG_thumb.png

Hola Alberto,

es extraño el episodio, porque evidentemente el registro se envio al cliente, habria que ver si es un problema en la lectura de los datos de la base o en el armado del html del combo.

En el fuente html aparece el “option” con texto o directamente envia la descripcion vacia?.. para verificar que esta leyendo de la bd… lo que podrias hacer es invocar el metodo de carga y luego hacer un ei_arbol de la variable que contiene el resultado.

Saludos

Hola

php 5.4 tal vez?

Emilio

Hola Emilio,

vos apuntas al uso de htmlentities via la funcion texto_plano… podria llegar a ser, igual segun dice Alberto el encoding siempre ha sido LATIN1… de hecho hasta donde entiendo se trata de un sistema que venia funcionando.

Alberto, podrias hacer la prueba agrengandole al texto de la funcion toba_varios::texto_plano, la constante ENT_SUBSTITUTE en el segundo parametro de la llamada a htmlentities y ver si eso afecta tu caso particular, si es el caso… deberia surgir el string pero con un caracter extraño.

Saludos

Hola Richard

Justamente. Si lo que se le pasa a htmlentities, o la otra funcion, no está en utf-8 te devuelve vacio.
En este caso debería haber algo con latin1.

Emilio

Hola Emilio,

segun entiendo el juego de caracteres que se respeta es el indicado por el tercer parametro, igual puede que le este pifiando.

En este caso debe tener algun caracter que esta en una codificacion distinta a ISO-8859-1… que vendria a ser LATIN1.
Por eso me interesaba ver si podiamos obtener el resultado directo de la consulta, sin que pase por la funcion texto plano.

Saludos

Estimados,

¿Pudieron resolver este tema?

A mi me paso lo mismo, con un proyecto en versión 2.1.0, pero recién cuando lo subí instalé en un servidor linux.

Los datos se muestran bien hasta en el ei_arbol, pero cuando se setean en un formulario, cuadro, etc., no se muestran ningún string que tenga acentos.

Probé pasando a Toba versión 2.1.4, pero sigue el mismo error.

Agradeceré cualquier aporte! saludos.

Hola Diego

Php tiene una serie de funciones para chequear encoding y convertir entre ellos.
Fijate, lo que te está generando problemas que encoding tiene y hacelo compatible con el resto de las funciones.

Emilio

Emilio,

Imagino que dichas configuraciones (de las funciones de encoding) están en el php.ini, pero este archivo está idéntico a otro (también en linux) que si funciona.

Lo que me parece raro, es que el ei_arbol si muestra los acentos. Pero al setear los datos desaparace el estring.

El problema debe estar en alguna función que usa Toba al setear los datos, y no esta funcionando bien.

¿Me dan alguna pista para saber mejor dónde buscar? ¿Qué funciones de encoding deberían funcionar, y en qué modo deben estar?

De nuevo, gracias!

Hola

No están en el ini, están en codigo.
Fijate, por ej. en
http://ar2.php.net/manual/es/function.htmlentities.php.

Estámos hablando de php 5.3? la base está con encoding latin1?

Por otro lado, no podés tratar de llegar a toba 2.3.6?

emilio

Hola Diego,

En ambos servidores tienen la misma version de PHP?

Lo que me parece raro, es que el ei_arbol si muestra los acentos. Pero al setear los datos desaparace el estring.

El ei_arbol es una herramienta de debug, por lo que no esta haciendo uso de la funcion texto_plano que si usan los componentes para tratar de evitar ataques XSS.
Esas son las funciones que te pueden estar complicando la existencia un poco con el tema de los caracteres.

¿Me dan alguna pista para saber mejor dónde buscar? ¿Qué funciones de encoding deberían funcionar, y en qué modo deben estar?

Una de las funciones usadas es la que te paso Emilio en el post anterior, lo que estimo es que el servidor linux que estas usando tiene instalado PHP 5.4.x al menos, donde hubo un cambio en el comportamiento por defecto de dichas funciones, eso se corrigio por un reporte de Emilio mismo en la rama de la version 2.3.

Necesitariamos un poco mas de info sobre el servidor en que se te presenta el problema.

Saludos