Tagged articles
39 articles
Page 1 of 1
Efficient Ops
Efficient Ops
Nov 30, 2025 · Databases

Why MySQL’s utf8 Isn’t True UTF‑8 and How utf8mb4 Solves It

MySQL’s original utf8 implementation was a limited, buggy version that only supported three‑byte characters, leading to data loss for emojis and rare symbols, so MySQL introduced utf8mb4 as a full UTF‑8 solution and now recommends it as the default encoding.

Character Setdatabasesencoding
0 likes · 5 min read
Why MySQL’s utf8 Isn’t True UTF‑8 and How utf8mb4 Solves It
ITPUB
ITPUB
Nov 3, 2025 · Databases

Why MySQL’s “utf8” Isn’t Real UTF‑8 and How utf8mb4 Fixes It

Although MySQL historically labeled its three‑byte character set as “utf8”, it actually implements a truncated version (utf8mb3) that cannot store the full Unicode range, leading to bugs with emojis and rare characters; the newer utf8mb4 restores true UTF‑8 support and is now the default in MySQL 8.0.

Character SetUnicodemysql
0 likes · 7 min read
Why MySQL’s “utf8” Isn’t Real UTF‑8 and How utf8mb4 Fixes It
dbaplus Community
dbaplus Community
Dec 26, 2024 · Databases

Why MySQL’s utf8 Isn’t True UTF‑8 and How utf8mb4 Fixes It

A collection of Zhihu answers explains that MySQL’s original utf8 charset only supports three‑byte characters, causing data loss for emojis and rare symbols, and shows how the newer utf8mb4 charset provides full Unicode support, becoming the default in MySQL 8.0.

Character Setmysqlutf8
0 likes · 7 min read
Why MySQL’s utf8 Isn’t True UTF‑8 and How utf8mb4 Fixes It
dbaplus Community
dbaplus Community
Jun 2, 2024 · Databases

Why MySQL Emoji Inserts Fail and How utf8mb4 Fixes Them

This article explains why inserting emoji characters into a MySQL table defined with the default utf8 charset triggers a string‑value error, explores the underlying encoding and charset concepts, compares utf8mb3 and utf8mb4, and shows how to convert tables to avoid such failures.

Character SetEmojicollation
0 likes · 9 min read
Why MySQL Emoji Inserts Fail and How utf8mb4 Fixes Them
Liangxu Linux
Liangxu Linux
May 6, 2024 · Databases

Why MySQL’s “utf8” Isn’t Real UTF‑8 and How utf8mb4 Fixes It

Discover why MySQL’s legacy ‘utf8’ charset only supports three‑byte characters, causing storage errors for true UTF‑8 data, and learn how the ‘utf8mb4’ charset resolves these issues, with historical context, technical details, and migration guidance.

Character SetMariaDBencoding
0 likes · 7 min read
Why MySQL’s “utf8” Isn’t Real UTF‑8 and How utf8mb4 Fixes It
dbaplus Community
dbaplus Community
May 5, 2024 · Databases

Why MySQL’s utf8 Isn’t Real UTF‑8 and How utf8mb4 Solves Emoji Errors

The article explains why MySQL’s built‑in utf8 charset cannot store four‑byte characters such as emojis, demonstrates the resulting insert error, shows how switching the database, table and connection to utf8mb4 fixes the issue, and recounts the historical reasons behind MySQL’s limited utf8 implementation.

Character SetEmojiencoding
0 likes · 8 min read
Why MySQL’s utf8 Isn’t Real UTF‑8 and How utf8mb4 Solves Emoji Errors
Aikesheng Open Source Community
Aikesheng Open Source Community
Dec 11, 2023 · Databases

Understanding utf8mb4 and Its Advantages in MySQL 8.0

This article explains the differences between utf8, utf8mb3 and utf8mb4 character sets in MySQL, demonstrates how utf8mb4 enables full Unicode support including emojis, and provides step‑by‑step SQL examples for creating tables, inserting data, and querying results with the proper character set.

EmojiUnicodemysql
0 likes · 12 min read
Understanding utf8mb4 and Its Advantages in MySQL 8.0
Architect's Guide
Architect's Guide
Sep 15, 2023 · Databases

Why You Should Never Use MySQL “utf8” and Switch to “utf8mb4”

The article explains that MySQL’s legacy “utf8” charset only supports three‑byte characters, causing errors with genuine four‑byte UTF‑8 symbols, and advises all MySQL/MariaDB users to migrate to the proper “utf8mb4” charset using available conversion guides.

MariaDBcharacter encodingmysql
0 likes · 7 min read
Why You Should Never Use MySQL “utf8” and Switch to “utf8mb4”
ITPUB
ITPUB
Mar 19, 2023 · Databases

Why MySQL 8’s Default utf8mb4 Breaks Legacy utf8 Tables – A Deep Dive

Upgrading MySQL 5.6/5.7 databases to 8.0 can introduce charset mismatches between existing utf8 (utf8mb3) tables and newly created utf8mb4 tables, causing index loss and performance degradation that can be resolved by unifying the character set across all tables.

SQLmysqlperformance
0 likes · 7 min read
Why MySQL 8’s Default utf8mb4 Breaks Legacy utf8 Tables – A Deep Dive
dbaplus Community
dbaplus Community
Mar 12, 2023 · Databases

Why MySQL 8.0 Queries Fail After Upgrading from 5.7: Charset & Collation Pitfalls

When upgrading MySQL 5.7 tables that use utf8 or utf8mb3 to MySQL 8.0, mismatched character sets and collations can cause index loss and inefficient joins, but converting all tables to utf8mb4 and adjusting the driver table can restore optimal query performance, as demonstrated with detailed examples and profiling results.

Charsetcollationmigration
0 likes · 7 min read
Why MySQL 8.0 Queries Fail After Upgrading from 5.7: Charset & Collation Pitfalls
Top Architect
Top Architect
Dec 22, 2022 · Databases

Understanding MySQL utf8 Limitations and Why You Should Use utf8mb4

This article explains why MySQL's traditional utf8 charset cannot store 4‑byte characters such as emojis, demonstrates the resulting insert errors, and shows how switching the database, system, and column collations to utf8mb4 resolves the issue while also providing a brief history of MySQL's charset implementation.

SQLcharacter encodingmysql
0 likes · 9 min read
Understanding MySQL utf8 Limitations and Why You Should Use utf8mb4
政采云技术
政采云技术
Dec 7, 2021 · Databases

Analysis of MySQL Connector/J Character Set Handling and UTF8MB4 Support

This article examines how MySQL Connector/J determines the character set during connection initialization, explains the transition from UTF8MB3 to UTF8MB4, analyzes source code of versions 5.1.46 and 5.1.47, and provides practical methods to enable UTF8MB4 without upgrading the driver.

Character SetConnector/JJava
0 likes · 10 min read
Analysis of MySQL Connector/J Character Set Handling and UTF8MB4 Support
Java Backend Technology
Java Backend Technology
Oct 14, 2021 · Databases

Why MySQL’s utf8 Fails with Emojis and How utf8mb4 Solves It

This article explains the difference between MySQL’s utf8 and utf8mb4 character sets, why utf8 cannot store emojis or complex Chinese characters, and provides step‑by‑step examples showing how to configure tables and columns with utf8mb4 to avoid encoding errors.

Character SetEmojiencoding
0 likes · 10 min read
Why MySQL’s utf8 Fails with Emojis and How utf8mb4 Solves It
Top Architect
Top Architect
Sep 3, 2021 · Databases

Why MySQL’s “utf8” Is Not Real UTF‑8 and You Should Switch to utf8mb4

The article explains that MySQL’s legacy “utf8” charset only supports three‑byte characters, causing errors when storing true four‑byte UTF‑8 symbols, and shows how the newer “utf8mb4” charset provides full Unicode support, with historical context and migration guidance.

Character SetMariaDBencoding
0 likes · 7 min read
Why MySQL’s “utf8” Is Not Real UTF‑8 and You Should Switch to utf8mb4
Laravel Tech Community
Laravel Tech Community
Jan 7, 2021 · Databases

Understanding MySQL utf8 vs utf8mb4 and How to Store Emoji Correctly

This article explains why MySQL's legacy utf8 charset cannot store four‑byte characters such as emoji, demonstrates the resulting insertion error, and shows how switching the database, table, and column collations to utf8mb4 resolves the issue while also covering the historical reasons behind MySQL's limited utf8 implementation.

Character SetEmojiencoding
0 likes · 7 min read
Understanding MySQL utf8 vs utf8mb4 and How to Store Emoji Correctly
Practical DevOps Architecture
Practical DevOps Architecture
Jan 4, 2021 · Databases

New MySQL 8 Features: Invisible Indexes, Persistent Settings, UTF8MB4, CTEs, and Window Functions

This article introduces several MySQL 8 enhancements—including invisible indexes for performance testing, the SET PERSIST command for durable configuration changes, default UTF8MB4 encoding, Common Table Expressions for clearer queries, and window functions for ranking and aggregation—illustrated with practical SQL examples.

CTEWindow Functionsindexes
0 likes · 6 min read
New MySQL 8 Features: Invisible Indexes, Persistent Settings, UTF8MB4, CTEs, and Window Functions
Su San Talks Tech
Su San Talks Tech
Nov 1, 2020 · Databases

Common MySQL Pitfalls and How to Avoid Them

This article examines common MySQL pitfalls—including signed vs. unsigned integers, auto‑increment key requirements, varchar length versus byte count, case‑insensitive collations, and storing emoji characters—providing concrete SQL examples, error screenshots, and configuration tips to help developers avoid unexpected errors.

Database designSQLauto_increment
0 likes · 9 min read
Common MySQL Pitfalls and How to Avoid Them
macrozheng
macrozheng
Aug 20, 2020 · Databases

Why MySQL’s utf8 Isn’t Real UTF‑8 and How utf8mb4 Fixes Emoji Errors

The article explains why MySQL’s built‑in utf8 charset only supports up to three‑byte characters, causing insert errors with four‑byte emojis, and shows how switching tables, system, and connection settings to utf8mb4 resolves the issue while detailing the historical reasons behind this limitation.

Character SetEmojidatabase encoding
0 likes · 9 min read
Why MySQL’s utf8 Isn’t Real UTF‑8 and How utf8mb4 Fixes Emoji Errors
Liangxu Linux
Liangxu Linux
Aug 1, 2020 · Databases

Why MySQL’s “utf8” Isn’t Real UTF‑8 and How utf8mb4 Fixes It

The article explains that MySQL’s legacy "utf8" charset only supports three‑byte sequences, causing errors with true four‑byte Unicode characters, and shows how the later "utf8mb4" charset provides proper UTF‑8 support along with historical context and migration guidance.

Character SetMariaDBencoding
0 likes · 8 min read
Why MySQL’s “utf8” Isn’t Real UTF‑8 and How utf8mb4 Fixes It
Top Architect
Top Architect
Jul 21, 2020 · Databases

Why MySQL’s “utf8” Is Not Real UTF‑8 and You Should Use utf8mb4

The article explains that MySQL’s legacy “utf8” character set only supports three‑byte sequences and therefore cannot store true UTF‑8 characters, describes the historical reasons behind this limitation, and advises all MySQL/MariaDB users to migrate to the proper utf8mb4 charset.

Character SetMariaDBdatabase
0 likes · 12 min read
Why MySQL’s “utf8” Is Not Real UTF‑8 and You Should Use utf8mb4
ITPUB
ITPUB
Oct 10, 2019 · Databases

Why MySQL’s “utf8” Isn’t Real UTF‑8 and How to Switch to utf8mb4

The article explains that MySQL’s legacy “utf8” charset only supports three‑byte characters, causing errors when storing true four‑byte UTF‑8 symbols like emojis, and shows why switching to the proper “utf8mb4” charset is essential for correct Unicode handling.

Character SetMariaDBUnicode
0 likes · 8 min read
Why MySQL’s “utf8” Isn’t Real UTF‑8 and How to Switch to utf8mb4
21CTO
21CTO
May 13, 2019 · Databases

Why MySQL’s ‘utf8’ Isn’t Real UTF‑8 and How utf8mb4 Fixes It

Discover why MySQL’s legacy ‘utf8’ charset only supports three‑byte characters, causing storage errors for true UTF‑8 data, and learn how switching to the proper ‘utf8mb4’ charset resolves these issues, with a brief history and practical migration guidance.

MariaDBUTF-8character encoding
0 likes · 7 min read
Why MySQL’s ‘utf8’ Isn’t Real UTF‑8 and How utf8mb4 Fixes It
ITPUB
ITPUB
Jul 21, 2017 · Databases

How to Fix MySQL Emoji Errors with utf8mb4: A Complete Guide

This article explains why MySQL throws "Incorrect string value" when storing emojis, how utf8mb4 solves the problem, and provides step‑by‑step instructions—including table conversion, my.cnf changes, connector upgrades, and runtime workarounds—for reliable emoji storage.

Character SetEmojiJDBC
0 likes · 7 min read
How to Fix MySQL Emoji Errors with utf8mb4: A Complete Guide