I have some reports made on Spanish by someone. These work properly if I install the Tomcat server on Windows, however we recently switched the whole stack to Ubuntu and now I am facing this problem where all the accented characters look like this.
"País de Origen" should be showing México, for example. If you can see, the word País as template words do show correctly. I am querying this data from a MariaDB instance.
Any help appreciated
2
Answers
Thanks a lot for your suggestions, I managed to fix it by following my only clue which was that the template accents were rendered correctly but dynamic data wasn't.
With this I edited the database connection URL to
jdbc:mysql://db:3306/mycooldb?characterEncoding=UTF-8
and that fixed it.This setting I got from this article: https://balusc.omnifaces.org/2009/05/unicode-how-to-get-characters-right.html
BIRT (and Java) use Unicode for strings.
So this is probably a matter of encoding configuration for the database connection.
Another thing that could complicate things are fonts.
Probably you developed your report with windows fonts in mind, e.g. Arial.
Since these fonts are not available on Linux, BIRT uses a replacement font.
I suggest you copy the necessary *.ttf files to a location on your Linux machine where BIRT will find it through the
fontsConfig.xml
configuration file.