What did I miss relating to MySQL and UTF-8 in the installation wizard?
Asked by Nick Reilingh:

I just installed confluence 5.6.6 fresh on MySQL. I know our database was created with UTF-8 as the encoding (as instructed in the DB config documentation), but during the in-browser installation wizard, I accidentally skipped over a note about UTF-8. To be specific, this is right after you select your database platform (MySQL) and direct JDBC connection, there's a form for the DB connection string, and a note :warning: that you should do something to this connection string related to UTF-8 in the event that you are using MySQL.

Can anyone tell me what this step was, and if there's something I need to do to fix it?


Answers:
author: Nick Reilingh
body: In the spirit of StackExchange-like Q\&A systems (such as this), I'm going to answer my own question, now that I've basically figured out what's going on:

The note that came up in the setup wizard occurred at step 5 of the [Confluence Setup Guide](https://confluence.atlassian.com/display/CONF56/Confluence+Setup+Guide#ConfluenceSetupGuide-5.ProductionInstallation:ExternalDatabase) documentation. This displayed because we were making a direct connection to a MySQL database. To get to the point of the matter, you must dig deeper into the documentation to [Configuring Character Encoding: Database Encoding](https://confluence.atlassian.com/display/CONF56/Configuring+Character+Encoding#ConfiguringCharacterEncoding-Databaseencoding), which notes *specifically* that the **MySQL JDBC driver must have Unicode encoding set explicitly in the JDBC URL**.

One more level into the docs gets us to our destination: [Configuring Database Character Encoding](https://confluence.atlassian.com/display/CONF56/Configuring+Database+Character+Encoding). This contains the specific instruction for modifying the JDBC connection URL that was present in the Setup Wizard.

Finally, I will note the [Troubleshooting Character Encodings](https://confluence.atlassian.com/display/DOC/Troubleshooting+Character+Encodings) page, which contains instructions for running an internationalization self-test on your database. However, in my experience this produces false-positive results, where the characters tested work even when full unicode does not. Regardless, it still contains links to configuration documentation for all aspects of character encodings for a Confluence instance, including those described here.


author: Mallmann
body: Hey Nick,

Every configuration needed to use Confluence with MySQL is described on our documentation about it. So I'd recommend you to check the following link out: <https://confluence.atlassian.com/display/DOC/Database+Setup+For+MySQL>

Let us know if you have any questions on it, alright?

I hope it helps. :smile:

Eduardo

comments: author: Nick Reilingh
body: Thanks Eduardo -- I actually added my own answer after digging into this a little deeper -- the information I was looking for was actually hidden in the character encodings documentation, and not the MySQL db setup documentation (although they are related).


author: Nick Reilingh
body: Small update: My hunch was that a good litmus test would be throwing a bunch of emoji characters on a page and seeing if they come back out intact. They actually _do_, but only for a short time following the page save, so I figure they must be coming from a cache until the application has to get them out of the database again (at which point they are output as {{??}}).


Tags: confluence-administration