Tagged articles
54 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
Java Captain
Java Captain
May 12, 2025 · Databases

Comprehensive Guide to Installing, Configuring, and Managing MySQL on CentOS Linux

This tutorial walks through preparing the environment, installing and uninstalling MySQL on CentOS 7, configuring firewalls, setting up remote access, handling character sets, adjusting security policies, managing SQL modes, and best practices for case sensitivity and version‑specific password policies.

Character SetConfigurationInstallation
0 likes · 30 min read
Comprehensive Guide to Installing, Configuring, and Managing MySQL on CentOS Linux
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
Aikesheng Open Source Community
Aikesheng Open Source Community
May 7, 2024 · Databases

Why Expanding a MySQL VARCHAR Column from 63 to 64 Characters Takes Much Longer

The article investigates why altering a MySQL VARCHAR column from a length that fits within 255 bytes to one that exceeds this limit (e.g., VARCHAR(63) to VARCHAR(64) in utf8mb4) triggers a costly copy operation, analyzes the storage mechanics, reproduces the issue, and provides practical recommendations to avoid performance penalties.

Character SetDatabase AdministrationOnline DDL
0 likes · 13 min read
Why Expanding a MySQL VARCHAR Column from 63 to 64 Characters Takes Much Longer
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
Feb 7, 2023 · Databases

Resolving Illegal Mix of Collations Errors in MySQL 8.0 Views

This article analyzes why MySQL 8.0 reports an illegal mix of collations when querying a view that joins tables with different character sets, demonstrates reproducing the issue, explains the role of the CONVERT function and default collation variables, and provides practical recommendations to avoid such errors.

Character SetConvert FunctionDatabase Administration
0 likes · 9 min read
Resolving Illegal Mix of Collations Errors in MySQL 8.0 Views
政采云技术
政采云技术
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
Liangxu Linux
Liangxu Linux
May 13, 2021 · Fundamentals

Why Does Text Become Garbled? A Deep Dive into UTF‑8, GBK, and Unicode

This article explains why characters appear as garbled text when encoding and decoding methods mismatch, explores how Excel defaults to GBK, shows how to convert files with iconv, and walks through the evolution from ASCII to GB2312, GBK, GB18030, and finally Unicode's UTF‑8 encoding.

Character SetGBKUTF-8
0 likes · 6 min read
Why Does Text Become Garbled? A Deep Dive into UTF‑8, GBK, and Unicode
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
Aikesheng Open Source Community
Aikesheng Open Source Community
Dec 8, 2020 · Databases

Understanding MySQL Online DDL for VARCHAR Column Size Changes and In‑Place vs Copy Operations

The article explains how MySQL's Online DDL handles VARCHAR column expansions, demonstrates performance differences across character sets using sysbench, and clarifies why certain size changes trigger in‑place alterations while others require full table copies, providing practical guidance for DBAs.

Character SetInnoDBOnline DDL
0 likes · 9 min read
Understanding MySQL Online DDL for VARCHAR Column Size Changes and In‑Place vs Copy Operations
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
Aikesheng Open Source Community
Aikesheng Open Source Community
Jul 22, 2020 · Databases

Understanding and Resolving MySQL Character Set and Data Corruption Issues

This article explains why MySQL data can become garbled due to mismatched character sets during insertion or retrieval, explores various scenarios such as client‑side encoding errors, mixed encodings within tables, and LATIN1 storage, and provides detailed solutions including setting proper client encodings, using strict SQL_MODE, and exporting/importing data to unify character sets.

Character SetData CorruptionSQL
0 likes · 15 min read
Understanding and Resolving MySQL Character Set and Data Corruption Issues
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
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Jul 19, 2020 · Databases

Understanding Oracle Character Sets, NLS_LANG Settings, and Import/Export Character Conversion

This article explains the fundamentals of Oracle character sets, how database and national character sets are defined, the role of NLS_LANG, the location and purpose of character set files, and practical guidance for import/export operations and character set conversion across different environments.

Character SetImport ExportNLS_LANG
0 likes · 22 min read
Understanding Oracle Character Sets, NLS_LANG Settings, and Import/Export Character Conversion
Architecture Digest
Architecture Digest
Mar 8, 2020 · Databases

MySQL Encoding Process and Character Set Handling

This article explains how MySQL’s character_set parameters such as character_set_client and character_set_results control the encoding and decoding of client commands and query results, illustrates common pitfalls with UTF‑8, GBK and Latin‑1, and provides practical commands to avoid garbled text.

Character SetGBKUTF-8
0 likes · 10 min read
MySQL Encoding Process and Character Set Handling
ITPUB
ITPUB
Feb 28, 2020 · Databases

Why MySQL Shows Garbled Text and How to Fix It

This article explains the root causes of MySQL character‑set garbling, illustrates the encoding/decoding steps during data insertion and retrieval, and provides practical methods—including dump‑reload and binary conversion—to prevent and repair corrupted data.

Character SetData MigrationSQL
0 likes · 13 min read
Why MySQL Shows Garbled Text and How to Fix It
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
Efficient Ops
Efficient Ops
Jul 16, 2018 · Databases

Master MySQL Advanced Features: Partitioning, Views, Triggers, and More

This article explores MySQL’s advanced capabilities—including partition tables, views, stored procedures, triggers, foreign‑key constraints, bind variables, user‑defined functions, and character‑set considerations—explaining their principles, usage patterns, performance impacts, and best‑practice recommendations for handling large‑scale data.

Character SetForeign KeysPartitioning
0 likes · 34 min read
Master MySQL Advanced Features: Partitioning, Views, Triggers, and More
ITPUB
ITPUB
Apr 9, 2018 · Databases

Why MySQL Shows Garbled Text and How to Fix It

This article explains the root causes of MySQL character‑set garbling, details the encoding and decoding steps during data storage and retrieval, and provides practical methods—including dump/reload and binary conversion—to prevent and repair corrupted text.

Character Setcharset conversionencoding
0 likes · 14 min read
Why MySQL Shows Garbled Text and How to Fix It
dbaplus Community
dbaplus Community
Oct 11, 2017 · Databases

Master MySQL Advanced Features: Partitioning, Views, Stored Procedures, and More

This article explores MySQL’s advanced features—including partition tables, views, stored procedures, triggers, foreign key constraints, bind variables, user‑defined functions, and character set considerations—explaining their principles, usage patterns, performance implications, and practical tips for large‑scale data scenarios.

Character SetPartitioningStored Procedures
0 likes · 35 min read
Master MySQL Advanced Features: Partitioning, Views, Stored Procedures, and More
21CTO
21CTO
Aug 30, 2017 · Databases

9 Classic MySQL Errors and How to Fix Them

This article presents nine classic MySQL error cases—from connection limits and replication conflicts to installation permission issues, forgotten passwords, auto‑increment resets, character‑set garbling, binlog misconfiguration, timeout problems, and file‑open limits—each accompanied by clear diagnosis steps and practical solutions.

Character SetDatabase ErrorsPermissions
0 likes · 16 min read
9 Classic MySQL Errors and How to Fix Them
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
ITPUB
ITPUB
Jun 21, 2017 · Databases

Why MySQL Data Gets Garbled: A Step‑by‑Step Encoding Journey

This article explains the three‑stage encoding and decoding flow when inserting and retrieving data in MySQL, identifies why mismatched character sets cause garbled text, and shows how to ensure consistent charset settings across client, server, and tables.

Character SetGBKUTF-8
0 likes · 5 min read
Why MySQL Data Gets Garbled: A Step‑by‑Step Encoding Journey
ITPUB
ITPUB
Mar 21, 2017 · Databases

How to Fix Chinese Character Garbling When Migrating Oracle to MySQL

When moving data from Oracle to MySQL, Chinese characters may appear as garbled text because the server uses a latin1 charset; this guide explains three levels of fixes—table, database, and server—by configuring UTF‑8 settings and verifying the changes.

Character SetChineseData Migration
0 likes · 5 min read
How to Fix Chinese Character Garbling When Migrating Oracle to MySQL
dbaplus Community
dbaplus Community
Oct 11, 2016 · Databases

Master MySQL: Installation, Configuration, Charset & Engine Guide

This comprehensive guide walks you through MySQL's features, table size limits, Linux installation methods, source compilation, post‑install security hardening, character‑set management, engine selection, essential commands, and password recovery techniques for robust database administration.

Character SetConfigurationInstallation
0 likes · 19 min read
Master MySQL: Installation, Configuration, Charset & Engine Guide
ITPUB
ITPUB
Sep 21, 2016 · Databases

Why the Same Chinese Text Becomes Garbled in Different Oracle Sessions – A Character Set Deep Dive

The article walks through a hands‑on experiment that shows how inserting the same Chinese string into an Oracle 10g database from clients using different character sets (ZHS16GBK vs AL32UTF8) leads to different stored encodings and results in garbled output, then explains the underlying conversion process and how to avoid it.

Character SetOracleSQL
0 likes · 13 min read
Why the Same Chinese Text Becomes Garbled in Different Oracle Sessions – A Character Set Deep Dive
ITPUB
ITPUB
Aug 3, 2016 · Databases

How to View and Change Oracle Server and Client Character Sets Safely

This guide explains how to check the character set of an Oracle database and its client, demonstrates queries for server, instance, and session parameters, describes the risks of altering the server charset with ALTER DATABASE CHARACTER SET, provides safe conversion steps, and shows how to adjust client settings on Linux and Windows to avoid garbled Chinese text.

Character SetLinuxNLS_LANG
0 likes · 11 min read
How to View and Change Oracle Server and Client Character Sets Safely
ITPUB
ITPUB
Jun 28, 2016 · Databases

Fix Chinese Characters in Oracle Sqlplus on Linux Without Reboot

This guide explains why Chinese characters appear as question marks in Sqlplus on Linux, how to identify the server character set, and provides step‑by‑step instructions to set the NLS_LANG environment variable and apply it instantly using the source command.

Character SetDatabase ConfigurationLinux
0 likes · 4 min read
Fix Chinese Characters in Oracle Sqlplus on Linux Without Reboot
21CTO
21CTO
Oct 8, 2015 · Databases

How to Fully Uninstall, Install, and Configure MySQL Character Set on Linux

This step‑by‑step guide shows how to completely remove any existing MySQL installation on Linux, reinstall it, and correctly configure the server and client character sets to UTF‑8, including version‑specific settings and verification.

Character SetDatabase ConfigurationInstallation
0 likes · 4 min read
How to Fully Uninstall, Install, and Configure MySQL Character Set on Linux
MaGe Linux Operations
MaGe Linux Operations
Jun 25, 2014 · Databases

How to Change MySQL Character Set to UTF-8 on Linux

This guide walks through locating MySQL's configuration file on Linux, copying a sample cnf, editing it to set default-character-set=utf8 for client and server, restarting MySQL, and verifying the change with SHOW VARIABLES, plus alternative methods via SQL commands and database options.

Character SetLinuxUTF-8
0 likes · 8 min read
How to Change MySQL Character Set to UTF-8 on Linux