Skip to main content

How to store emoji expressions in django mysql | Solve the problem of failure to store emoji expressions in django

# Common problem

The error information of storing emoji expressions in table intelligence in django + mysql is:

In Django, django.db.utils.OperationalError: (1366, "Incorrect string value: '\\xF0\\x9F\\x90\\xA6 \\xF0...' for column 'description' at row 1").

# Reason

UTF-8 encoding may be two, three, or four bytes, Emoji expressions are 4-bytes, and MySql utf8 encoding is up to 3-bytes, so the data can't be inserted.

# Solution :

Convert Mysql encoding from utf8 to utf8mb4. The detailed description is as follow steps:

# Settings in MySql:

Step 1 : Modify the character set of the database:

  • ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

Step 2 : Use the database that currently needs character set modification:

  • use database_name;

Step 3 : Modify the character set of the table:

  • ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Step 4 : Modify the character set of the column:

  • ALTER TABLE table_name CHANGE field_name  VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

# Settings in django:

Step 5 : And finally, modify the code in settings.py as follows:

 ➤ Code: settings.py (MySql)

  1. DATABASES = {
    'default': {
    ...,
    # other settings
    'OPTIONS':{
    'charset': 'utf8mb4', # support emoji
    }
    }
    }


    """ DATABASES={
    'default':{
    'ENGINE' : 'django.db.backends.mysql',
    'NAME' : 'your-db-name',
    'USER' : 'user_name',
    'PASSWORD' : 'your-db-password',
    'HOST' : 'localhost',
    'PORT' : '3306',
    'OPTIONS' : {
    'charset : 'utf8mb4',
    }
    } """

Comments

deepa bahuguna said…
thanks for sharing this you're doing amazing jobs
Kotlin Kya Hai?
Search Engine Kya Hai?
Anonymous said…
Technoduce, a full stack web development company offers a best-in-class full stack. Our full-stack developer has complete knowledge across all stage of software development. Interested in starting a full stack development project? Get a free quote. Full stack web development company.
Best website services in delhi
Aanha services are counted among the best website designing company in Delhi. This top-rated company can help you generate a powerful online presence that stands head and shoulders above your rivals by developing a highly functional website with all the relevant content and images. Digital Service helps in your business grow, brand, and influence audiences online through a website, blogs, video content, and social media. Know more visit us now.
Convert your Figma to React by following these steps:
1. Download the CopyCat Plugin from the Figma community page
2. Open CopyCat in Figma by right clicking on the design canvas, select plugins, and select CopyCat.
3. Sign up for an account by clicking 'Get Started' and login to CopyCat using your Figma account.
4. Input the file url.
5. Select the frame you want to convert by pointing your cursor on the frame and click the frame you want to generate code for. The code will be generated automatically.
6. Export the design to your dev environment after previewing and making necessary changes.

CopyCat is one tool that can help smoothen the design to developer handoff process, and it is constantly updating to improve the code generated so you can sit back, relax, and code the challenges you want.

Popular Posts

Django static files not working when debug false || debug true

# Django static and media files not working when debug is false In this article you will learn how to fix problem of not loading static files and media in Django even the DEBUG is FALSE. This is the easiest and safest solution. # Problem: Django static and media files not working when debug is false  ➤ Code: settings.py DEBUG = False #True ALLOWED_HOSTS = [ '*' ] #Host name # Problem Fix: Let's see, How you can fix the problem of Django static and media files not working when DEBUB = False : 1.)First way: devserver in insecure mode If you still need to server static locally ( e.g. for testing without debug ) you can run devserver in insecure mode: python manage.py runserver --insecure --insecure: it means you can run serve...

How to remove the date and .html from every blogger post url

#Remove date and .html from blogger post url A Common search term which every blogger search is How to Remove Date From Blogger Post URL or how do I remove date from blogger permalink? Follow the steps below and then date and .html will be removed from the URL of your blogger post. Step 1 : Login to your Blogger blog and select Theme / Template. Step 2 : Click on Edit HTML and paste the below code just above the </head> tag let's see code :   ➤ Code : mycode.js; Copy code <script type='text/javascript' > //<![CDATA[ // BloggerJS v0.3.1 var urlTotal,nextPageToken,postsDatePrefix=!1,accessOnly=!1,useApiV3=!1,apiKey="",blogId="",postsOrPages=["pages","posts"],jsonIndex=1,secondRequest=!0,feedPriority=0,amp="&"[0];function urlVal(){var e=window.location.pathname,t=e.length;return...

how to create enum in java

What is enum in Java? An enum is a special "data type" that used to create our own datatype like classes and It represents a group of constants (a variable that does not change). The enum is short for "enumerations", which means "specifically listed" and the Enum data also known as Enumerated Data Type. # Defining Java enum Instead of C/C++, in java programming language enum types are more powerful. Here, we can define an enum both inside and enum outside the class but not inside a Method "Rules" to defing enum in Java: To create an enum in Java, use the enum keyword (instead of class or interface) , and separate the constants with a comma (,) . The enum can be defined within or outside the class because it is similar to a class. The semicolon (;) at the end of the enum constants are optional Because enum are constants, the names of an enum type's fields are in uppercase letters. ...