PDA

View Full Version : Mas sobre: Tildes/Acentos en Mondrian / Pentaho



DMurray3
02-18-2008, 09:06 PM
Para efectos de hacer que Mondrian y JPivot muestren los caracteres especiales utilizados en castellano (por ejmplo tildes), he recibido la recomendacion de una participante del foro de ubicar en el inicio del xml de un cubo el siguente encoding:

<?xml version="1.0" encoding="ISO-8859-1"?>

Los xml de los cubos usualmente comienzan directamente con Schema name="nombre_del_cubo.."

Disculpen la necedad/confusion: pongo lo antes dicho efectivamente al principio del archivo .mondrian.xml y/o del archivo .xaction.

El problema que tengo es que cuando se levanta el cubo en su vista/query con el MDX "default", no hay problema, pero al especificar en el MDX uno o algunos de los "miembros" con palabras / denominaciones que contienen caracteres especiales (lease: tildes), la vista no funciona y Mondrian devuelve el error anotado a continuacion:

ERROR [Request Filter] cause javax.servlet.ServletException: javax.servlet.jsp.JspException: Mondrian Error:MDX object '[Regiones.Regiones Todas].[Pa?s] not found in cube '...mi cubo...'

[Pa?s] [COLOR=black]en mi bdd consta como [Pa[SIZE=4][FONT=Arial]

DMurray3
02-20-2008, 04:28 PM
Investigando en detalle, logre actualizar el encoding a ISO-8859-1 en varios lados. La guia de lo que me esta funcionando les remito a continuacion.

Hay que ajustar el “encoding” cambiando de “UTF-8” a “ISO-8859-1”, en los siguientes lugares:

· \PCI\jboss\server\default\deploy\pentaho.war\WEB-INF\portlet.xml

En los primeros renglones del archivo debe constar:

<?xml version="1.0" encoding="ISO-8859-1"[DTM1] (http://forums.pentaho.org/showthread.php?t=59925#_msocom_1)?>
<portlet-app

· \PCI\jboss\server\default\deploy\pentaho.war\WEB-INF\web.xml

Buscar a partir del renglón #360. Hay el un comentario:

<!-- this defaults to UTF-8, uncomment this section and change the value for other encodings
<context-param>
<param-name>encoding</param-name>
<param-value>windows-1256</param-value>
</context-param>
-->

Justamente el cambio consistirá en copiar lo marcado, para crear un nuevo “context-param” como se indica a continuación (ie: des-comentar):

<context-param>
<param-name>encoding</param-name>
<param-value>ISO-8859-1[DTM2] (http://forums.pentaho.org/showthread.php?t=59925#_msocom_2)</param-value>
</context-param>

· \PCI\jboss\server\default\deploy\jbossweb-tomcat55.sar\server.xml
Buscar en <Service name=”jboss.web”…. y en la definición del “Conector”, dejar como:

<Connector port="8080" address="${jboss.bind.address}"
maxThreads="250" strategy="ms" maxHttpHeaderSize="8192"
emptySessionPath="true"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEnconding="ISO-8859-1"[DTM3] (http://forums.pentaho.org/showthread.php?t=59925#_msocom_3)/>

· Es posible que deban aseguara que los archivos “xml” de .xaction, .mondrian y de los reportes, tengan la siguiente sentencia al principio de cada uno de éstos:

<?xml version="1.0" encoding="ISO-8859-1"[DTM4] (http://forums.pentaho.org/showthread.php?t=59925#_msocom_4)?>
[DTM1] (http://forums.pentaho.org/showthread.php?t=59925#_msoanchor_1)¡No olviar las comillas !


[DTM2] (http://forums.pentaho.org/showthread.php?t=59925#_msoanchor_2)¡NO PONER las comillas!


[DTM3] (http://forums.pentaho.org/showthread.php?t=59925#_msoanchor_3)[FONT=Times New Roman][SIZE=2][COLOR=#000000]¡Tal cual se india aqu

ajandrade
10-26-2009, 05:24 AM
Buenas...

estoy teniendo el mismo problema del enconding. He seguido vuestros pasos y he modificado los ficheros poniendole ISO-8859-1 en los sitios que indicais.
Pero tengo un problemilla al poner en el web.xml lo siguiente:
<context-param>
<param-name>encoding</param-name>
<param-value>ISO-8859-1</param-value>
</context-param>

No me deja logarme!!!!

He mirado la consola y he visto el siguiente mensanje:

11:19:38,042 ERROR [[/pentaho]] Exception while dispatching incoming RPC call
javax.servlet.ServletException: Character Encoding is 'ISO-8859-1'. Expected 'charset=utf-8'
at com.google.gwt.user.server.rpc.RPCServletUtils.checkCharacterEncoding(RPCServletUtils.java:286)
at com.google.gwt.user.server.rpc.RPCServletUtils.readContentAsUtf8(RPCServletUtils.java:136)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.readContent(RemoteServiceServlet.java:335)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost(RemoteServiceServlet.java:77)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:124)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.ui.switchuser.SwitchUserProcessingFilter.doFilter(SwitchUserProcessingFilter.java:341)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.pentaho.platform.web.http.security.SecurityStartupFilter.doFilter(SecurityStartupFilter.java:87)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:135)
at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
at org.pentaho.platform.web.http.security.RequestParameterAuthenticationFilter.doFilter(RequestParameterAuthenticationFilter.java:169


Como puedo solucionar esto??

Muchas gracias de antemano,
Un saludo.

DMurray3
11-14-2009, 02:54 PM
En el mismo web xml en el comentario del <context param> dice que si cambias de UTF-8 a otra, deberias tambien cambiar el URIEnconding en el server.xml del Tomcat...

Acabo de revisar en PCI 1.7 y una version del BI Server 3.0RC1 que tambien tengo y no he tenido necesidad de cambiar estas configuraciones y han quedado como UTF-8. Lamento que tengas esta confusion.

DMurray3
11-14-2009, 02:58 PM
Tal vez el problema sea que mi thread era para PCI 1.7 y quizas tu estas usando BI Server 3.0 o superior... si no has resuelto el problema, vuelve a postear un thread en el foro de espaniol... estoy seguro que los gurus de la comunidad hispano-parlante estaran presto a darte mas ayuda....

andresalarcong
05-27-2010, 03:16 PM
Yo tambien tengo problemas, al intentar guardar una tabla dinamica me sale un error.
Y al mirar el log el problema son las tildes y caracteres especiales como la ñ.

Como soluciono esto, alguien ya lo ha solucionado?

tdidomenico
05-31-2010, 12:43 PM
En este caso de JIRA hay una serie de comentarios y posibles soluciones:

http://jira.pentaho.com/browse/BISERVER-2758

Si no le encontrás la vuelta luego de leer eso, quizá podemos ayudarte con algo más de información específica sobre tu caso (sistema operativo, lenguaje/codificación por defecto del sistema, etc.)

¡Saludos!

Bronson
01-07-2011, 12:09 PM
Hola,

con la solución que propone Will Gorman funciona el tema de los acentos:

A workaround until this fix makes it in is to pass a -Dfile.encoding=UTF-8 into the CATALINA_OPTS, which can be found in the start_pentaho.* scripts.

Pero encontré otro problema, con o sin el UTF8 el tener miembros con apóstrofes no los detecta al intentar filtrar por ellos en el navegador OLAP, al menos en mi caso. Y UTF8 los admite. ¿Alguien pudo solucionar esto?

gracias

Edito: Me respondo a mi mismo, el problema no eran los apóstrofes sino que para distintos ids tenia literales repetidos y eso no le mola a jpivot.