Specify charset on CharField
I'd typically think it would be better to use UTF8 when creating the database, e.g.:

```sql
CREATE DATABASE foobar CHARACTER SET utf8 COLLATE utf8_unicode_ci;
```

I understand the storage concerns, though. You should be able to add the charset as peewee supports arbitrary constraints:

```python
field = CharField(constraints=[SQL('CHARACTER SET utf8 COLLATE utf8_unicode_ci')])
``` First, thanks for the suggestion.

I tried to apply the next definition:
```python
name = CharField(unique=True, constraints=[SQL('CHARACTER SET utf8 COLLATE utf8_unicode_ci')])
```

But there was an SQL syntax error due the generated SQL , that was something similar to:

```SQL
CREATE TABLE foo (field VARCHAR(255) NOT NULL CHARACTER SET utf8 COLLATE utf8_unicode_ci);
```

The problem comes from the `NOT NULL`  which was put before of  `CHARACTER SET`. To solve this was necessary to set `NOT NULL` after of charset declaration, in this way:

```SQL
CREATE TABLE foo (field VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL);
```

To achieve the previous sentence from peewee I had to write the next declaration, which it is a bit tricky:

```python
field = CharField(unique=True, null=True, constraints=[SQL('CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL')])
```

So even if it is possible to reach the desire SQL statement this problem should be revised since my solution is just an ugly hack.
 I just realize that `CHARACTER SET` is not available in SQLite, therefore if you put that in constraints parameter the table creation fails in SQLite (due to the generated SQL statement). Thus this is not a valid solution because don't allow to use both SQLite and Mysql in a transparent way. 

I encourage to solve this problem cause I believe that peewee it's a nice tool with a really nice interface, but this kind of issue could make them unusable in several cases.
 No, I'm pretty sure this is just a MySQL thing. In postgres you set the encoding on the database. Sqlite is just utf8, as far as I know.

Typically I think its unusual to specify the charset on just a single column. Usually one would set a default charset on the database or maybe(?) the table.
Peewee doesn't allow to specify the charset of CharField.

 I want to specify an utf8 charset in some name fields for which I don't need the utf8mb4 charset used by default in Mysql. This also generates problems with Unique indexes generated cause the length of varchars (utf8mb4 makes a char be 4 bytes in size). It throws the error `Specified key was too long; max key length is 767 bytes`.

I would be nice if that option could be included.


