Hi William, 2015.07.05 22:19, William Marcelo Piovezan rašė:
Following the Exim4u v3.0.0 upgrade instructions I´ve changed the Mysql tables and database collation to utf-8 charset.
After that, I´m getting a problem with Brazilian accented characters (é, á, í, etc) in Vacation/Auto-reply messages. If I try to set up a new message the accented characters are not saved in the MySQL Users table.
Could you show us what IS being saved instead?
If only enabling old messages already saved before the utf-8 conversion, the message goes to the sender with wrong chars (example below):
Original message:
Olá
Encontro-me de férias no período de 06/07/2015 à 20/07/2015
Sent message:
Ol=C3=A1
Encontro-me de f=C3=A9rias no per=C3=ADodo de 06/07/2015 =C3=A0 20/07/2015.
This is not exactly "wrong". What you see is UTF-8 characters encoded using the Quoted-printable (QP) scheme. What is wrong is that your e-mail client does not convert them back to UTF-8, and this is most likely because your e-mail server does not add the following headers to the vacation messages it sends: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable So, the question is why it doesn't add the headers. I suspect it could be because you chose to use your original (pre-3.0) config file, and didn't transplant all the changes from upstream to it. In particular, I suspect that you missed this line from virtual_vacation_delivery transport: headers = "Content-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: quoted-printable" You can see the line in context on [1].
My question: What the reason motivated the UTF-8 DB/tables conversion? Do you know any other way to keep the UTF-8 collation and solve the accent characters in Vacation and Auto-Reply messages?
Back when I added this patch, it was the only way I could think of that allowed using UTF-8 in vacation messages. I'm certainly not a fan of QP-encoding stuff before persisting it to the database, but back at the time, it seemed to be the only option I had. The problem is that Exim does not allow specifying SQL to run on connect (see [2] and [3]), and I did not want to make an assumption that UTF-8 would be the server's default, so I went for an option which encodes UTF-8 in ASCII, thus allowing me to avoid the possible problem. Later I stumbled upon a suggestion on the internet that I could have added a .my.cnf file to Exim's home directory instead. But that was later...
Best Regards,
William.
I hope I have answered your questions and that my answers will help you resolve the problem. If not, keep asking! Here are the links I referenced above: [1] https://github.com/Exim4U/src/blob/master/etc/exim/exim.conf#L1323 [2] https://bugs.exim.org/show_bug.cgi?id=508 [3] https://bugs.exim.org/show_bug.cgi?id=980 Regards! Rimas