#1 2015-05-15 10:57:00

ralex
Member
Registered: 2015-04-20

UTF-8 problems

Hi,
I just notice that, even if I set up catalina.sh inserting -Dfile.encoding=UTF8, I get a report whose title does not contain accent symbol like "à".

For example : I shoud have : Attività , but I get Attivit (without the accented letter)

I have to add that this works on Apache over windows , putting -Dfile.encoding=UTF8, while on linux editing catalina.sh like this : JAVA_OPTS="$JAVA_OPTS -server -Xms2048m -Xmx12288m -XX:MaxPermSize=512m -Dfile.encoding=utf8" doesn't work.


I'm getting crazy....

can you help me?

Thanks,

Alex

Last edited by ralex (2015-05-15 11:03:33)

Offline

#2 2015-05-15 11:10:30

Arno Mittelbach
datenwerke
Registered: 2012-02-14

Re: UTF-8 problems

Hi Alex,

what type of report are you talking about?

Cheers
-Arno

Offline

#3 2015-05-15 11:31:31

ralex
Member
Registered: 2015-04-20

Re: UTF-8 problems

it's a birt report, I'm also noticing that the default "script reports" ,that you find after installed reportserver , has the name nderungshistorie...(this is always under linux, while in windows I can see the accented letters)

Last edited by ralex (2015-05-15 11:34:46)

Offline

#4 2015-05-15 11:39:07

Thorsten J. Krause
Guest

Re: UTF-8 problems

Hi,

this could also be caused by the database encoding, or the encoding of the database connection.
Please take a look at this topic, it covers most of the things that might cause trouble:

http://forum.reportserver.net/viewtopic.php?id=156

Cheers,
Thorsten

#5 2015-05-18 08:47:42

ralex
Member
Registered: 2015-04-20

Re: UTF-8 problems

Hi,
I'm following the above mentioned post, but after replacing the two libs rsbase.jar and  dejavu-fonts-2.34.jar
I'm getting this error any time I run a preview of a pdf birt report :

<code>
<html><head><title>Apache Tomcat/7.0.61 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 500 - Filter execution threw an exception</h1><HR size="1" noshade="noshade"><p><b>type</b> Exception report</p><p><b>message</b> <u>Filter execution threw an exception</u></p><p><b>description</b> <u>The server encountered an internal error that prevented it from fulfilling this request.</u></p><p><b>exception</b> <pre>javax.servlet.ServletException: Filter execution threw an exception
</pre></p><p><b>root cause</b> <pre>java.lang.NoClassDefFoundError: org/bouncycastle/crypto/paddings/ISO7816d4Padding
    org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher.engineSetPadding(Unknown Source)
    javax.crypto.Cipher$Transform.setModePadding(Cipher.java:346)
    javax.crypto.Cipher.getInstance(Cipher.java:500)
    net.datenwerke.security.service.crypto.pbe.encrypt.EncryptionServiceImpl.decrypt(EncryptionServiceImpl.java:92)
    net.datenwerke.security.service.crypto.pbe.encrypt.EncryptionServiceImpl.decryptFromHex(EncryptionServiceImpl.java:70)
    net.datenwerke.rs.base.service.datasources.definitions.DatabaseDatasource.getPassword(DatabaseDatasource.java:110)
    net.datenwerke.rs.base.service.datasources.definitions.DatabaseDatasource.getConnectionConfig(DatabaseDatasource.java:152)
    net.datenwerke.rs.birt.service.datasources.birt.transformers.BirtDBDatasourceTransformer.transform(BirtDBDatasourceTransformer.java:45)
    net.datenwerke.rs.birt.service.datasources.birt.transformers.BirtDBDatasourceTransformer.transform(BirtDBDatasourceTransformer.java:1)
    net.datenwerke.rs.core.service.datasourcemanager.datasourcetransformers.DatasourceDefinitionTransformerManager.transform(DatasourceDefinitionTransformerManager.java:49)
    net.datenwerke.rs.birt.service.reportengine.BirtReportEngine.doExecute(BirtReportEngine.java:68)
    net.datenwerke.rs.core.service.reportmanager.engine.ReportEngine.execute(ReportEngine.java:127)
    net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:186)
    net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:119)
    net.datenwerke.rs.core.server.reportexport.ReportExportServlet.exeucteReport(ReportExportServlet.java:527)
    net.datenwerke.rs.core.server.reportexport.ReportExportServlet.doExportReport(ReportExportServlet.java:407)
    net.datenwerke.rs.core.server.reportexport.ReportExportServlet.exportReport(ReportExportServlet.java:333)
    net.datenwerke.rs.core.server.reportexport.ReportExportServlet.exportReportViaSession(ReportExportServlet.java:326)
    net.datenwerke.rs.core.server.reportexport.ReportExportServlet.doGet(ReportExportServlet.java:164)
    com.google.inject.persist.jpa.JpaLocalTxnInterceptor.invoke(JpaLocalTxnInterceptor.java:66)
    net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:110)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:110)
    com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
    com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
    com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
    com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
    com.google.inject.persist.PersistFilter.doFilter(PersistFilter.java:89)
    com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
    com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
    com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
    com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
</pre></p><p><b>note</b> <u>The full stack trace of the root cause is available in the Apache Tomcat/7.0.61 logs.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/7.0.61</h3></body></html>
</code>

Any idea??

Offline

#6 2015-05-18 09:16:27

ralex
Member
Registered: 2015-04-20

Re: UTF-8 problems

I rolled back the old libs and I don't have the above error, but I'm not still getting the accented letters(missed accented letters).  I also checked my db configuration (it's oracle 12) and it is utf8.
Below part of my server.xml :
<code>
.........
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               URIEncoding="utf-8"/>  ---> Maybe it has to be without "-" character?

........
</code>

Last edited by ralex (2015-05-18 09:17:11)

Offline

#7 2015-05-18 12:55:27

ralex
Member
Registered: 2015-04-20

Re: UTF-8 problems

OK, I fixed the issue...it was sufficient to re-upload the rptdesign file after having changed the charset value on main.cf file and having added -Dfile.encoding=utf8 (as java_opts value) on catalina.sh script.

Thanks, anyway,

Offline

Board footer

Powered by FluxBB