When not specifying the charset/collation, I managed to create a latin1 database where all strings were encoded in latin1. That's really not ideal. Adding 'CHARACTER SET utf8' when creating the DB fixes it. Then:
$ ./manage.py syncdb will correctly create tables with UTF-8 encoded rows. However, for some reason, when django creates the test tables, that default, DB wide, encoding is not respected and one needs to provide an additional TEST_CHARSET entry in the config dictionary. Signed-off-by: Damien Lespiau <[email protected]> --- docs/INSTALL | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/INSTALL b/docs/INSTALL index dad9c7e..d40ddd2 100644 --- a/docs/INSTALL +++ b/docs/INSTALL @@ -65,7 +65,7 @@ in brackets): For MySQL: $ mysql - > CREATE DATABASE 'patchwork'; + > CREATE DATABASE 'patchwork' CHARACTER SET utf8; > CREATE USER 'www-data'@'localhost' IDENTIFIED BY '<password>'; > CREATE USER 'nobody'@'localhost' IDENTIFIED BY '<password>'; @@ -81,9 +81,14 @@ in brackets): 'USER': 'patchwork', 'PASSWORD': 'my_secret_password', 'NAME': 'patchwork', + 'TEST_CHARSET': 'utf8', }, } + TEST_CHARSET is used when creating tables for the test suite. Without + it, tests checking for the correct handling of non-ASCII characters + fail. + 2. Django setup Set up some initial directories in the patchwork base directory: -- 1.8.3.1 _______________________________________________ Patchwork mailing list [email protected] https://lists.ozlabs.org/listinfo/patchwork
