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 <damien.lespiau@intel.com>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
- > CREATE DATABASE 'patchwork';
+ > CREATE DATABASE 'patchwork' CHARACTER SET utf8;
> CREATE USER 'www-data'@'localhost' IDENTIFIED BY '<password>';
> CREATE USER 'nobody'@'localhost' IDENTIFIED BY '<password>';
> CREATE USER 'www-data'@'localhost' IDENTIFIED BY '<password>';
> CREATE USER 'nobody'@'localhost' IDENTIFIED BY '<password>';
'USER': 'patchwork',
'PASSWORD': 'my_secret_password',
'NAME': 'patchwork',
'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:
2. Django setup
Set up some initial directories in the patchwork base directory: