diff options
author | Thomas Grainger <tom@yplanapp.com> | 2015-03-18 11:40:03 +0000 |
---|---|---|
committer | Thomas Grainger <tom@yplanapp.com> | 2015-03-18 11:47:17 +0000 |
commit | 6e8ecd161bfb95b39713ba406921fb277b2802a3 (patch) | |
tree | 659acb2b5a7590b992130332e0df22c7553ffb6c /lib/sqlalchemy/dialects/mysql/mysqldb.py | |
parent | 5794b777cbb4a8f951ee19ac40c7aef0e2f429a1 (diff) | |
download | sqlalchemy-6e8ecd161bfb95b39713ba406921fb277b2802a3.tar.gz |
add utf8mb4 recommendation
Diffstat (limited to 'lib/sqlalchemy/dialects/mysql/mysqldb.py')
-rw-r--r-- | lib/sqlalchemy/dialects/mysql/mysqldb.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/sqlalchemy/dialects/mysql/mysqldb.py b/lib/sqlalchemy/dialects/mysql/mysqldb.py index 0d125a245..a65f69622 100644 --- a/lib/sqlalchemy/dialects/mysql/mysqldb.py +++ b/lib/sqlalchemy/dialects/mysql/mysqldb.py @@ -28,6 +28,18 @@ unicode** will include both charset and use_unicode=0:: create_engine("mysql+mysqldb://user:pass@host/dbname?charset=utf8&use_unicode=0") +For MySQL versions 5.5.3 and MySQLdb version 1.2.3 forward, the special +MySQL-specific encoding 'utf8mb4' is now recommended:: + + create_engine("mysql+mysqldb://user:pass@host/dbname?charset=utf8mb4&use_unicode=0") + +The 'utf8' encoding may still be used, however MySQL will only support +unicode characters within the first three of four possible bytes: +no (💩 or 😻) note that in order to use utf8mb4 fully, changes to +the MySQL schema and/or server configuration may be required. +See also: `The utf8mb4 character set +<http://dev.mysql.com/doc/refman/5.5/en/charset-unicode-utf8mb4.html>_`. + As of this writing, MySQLdb only runs on Python 2. It is not known how MySQLdb behaves on Python 3 as far as unicode decoding. |