2017-06-12 65 views
5

Próbuję wstawić emoji do pewnego pliku w mojej tabeli mysql. Pobiegłem polecenia zmiany i zmienił sortowania do „utf8mb4_general_ci”Jak wstawiać emotikony do MYSQL 5.5 i wyżej za pomocą Django ORM

ALTER TABLE XYZ MODIFY description VARCHAR(250) CHARACTER SET utf8mb4 
    COLLATE utf8mb4_general_ci; 

szczegółów Tabela po powyższym zapytanie:

+-------------+--------------+---------------+--------------------+ 
| Column  | Type   | Character Set | Collation   | 
+-------------+--------------+---------------+--------------------+ 
| description | varchar(250) | utf8mb4  | utf8mb4_general_ci | 
+-------------+--------------+---------------+--------------------+ 

Potem wpadłem zapytanie zaktualizować opis kolumnę emotikonom-tych, za każdym razem, gdy uruchomiłem poniższą kwerendę, emoji jest zastąpione przez "?".

Ale kiedy wydrukuję wynik z kwerendy wyboru dla tego samego identyfikatora, wyświetla ""? zamiast emoji. Rezultat:

"a test with : ??" 

Dokonano niezbędnych zmian w pliku modelu. Proszę przyjąć moje przeprosiny za nie wyjaśnienie, docenią wszelkie prowadzenie w tej sprawie.

+0

Czy próbowałeś dodawania „Opcje”: {”charset”: „utf8mb4’ } w konfiguracji bazy danych django wraz z nazwą użytkownika i hasłem? – Aniket

+0

Tak, też to zrobiłem. – Shrey

+0

Czy próbowałeś zmienić opcje /etc/mysql/my.cnf? – Satevg

Odpowiedz

1
DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.mysql', 
     ... 
     'OPTIONS': { 
        'charset': 'utf8mb4', 
        'use_unicode': True, }, 
    }, 
} 

my.cnf:

[mysqld] 
character-set-server=utf8mb4 
default-collation=utf8mb4_unicode_ci 

[client] 
default-character-set=utf8mb4