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

Hi Alex,

what type of report are you talking about?

Cheers
-Arno

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)

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

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 :

Apache Tomcat/7.0.61 - Error report

HTTP Status 500 - Filter execution threw an exception


type Exception report

message Filter execution threw an exception

description The server encountered an internal error that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Filter execution threw an exception

root cause

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)

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.61 logs.


Apache Tomcat/7.0.61

Any idea??

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 :


—> Maybe it has to be without “-” character?


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,