Cách sửa lỗi lưu bài viết WordPress khi có ký tự emoji (chi tiết & dễ hiểu)

Những điểm chính

 

  • Nguyên nhân gây lỗi khi lưu bài viết có emoji: Hiểu đúng vì sao WordPress gặp vấn đề với ký tự 4 byte, hạn chế của chuẩn utf8 (3 byte) và những ảnh hưởng đến quá trình lưu dữ liệu.

 

  • Cách sửa lỗi chi tiết: Từ xử lý phần nội dung cơ bản đến mở rộng sang tiêu đề, taxonomy, meta… giúp bạn tránh lỗi hoàn toàn.

 

  • Giải pháp tiện lợi hơn bằng plugin: Hướng dẫn chèn code qua plugin thay vì sửa thẳng trong theme.

 

1. Vì sao WordPress lỗi khi lưu bài viết có emoji?

 

Nguyên nhân chính là do database không hỗ trợ mã hóa 4 byte.


Nhiều máy chủ hoặc bảng dữ liệu WordPress cũ vẫn dùng utf8 (3 byte), trong khi emoji lại thuộc chuẩn utf8mb4 (4 byte).

 

Khi bạn nhập emoji vào bài viết:

 

  • Database không thể xử lý ký tự 4 byte

 

  • WordPress báo lỗi như “Incorrect string value”

 

  • Bài viết không thể lưu hoặc không thể cập nhật

 

WordPress, emoji, Emoji trong WordPress

 

2. Cách sửa lỗi lưu bài viết WordPress khi có ký tự emoji

 

Cách 1 – Mã hóa emoji trong nội dung bài viết (đơn giản nhất)

 

Thêm đoạn mã sau vào functions.php hoặc plugin snippets:

 

→ Khi bạn chèn emoji, WordPress sẽ tự mã hóa ký tự trước khi lưu vào database.


→ Database chỉ lưu dạng đã encode, giúp tránh lỗi 4 byte.

 

Cách 2 – Mã hóa toàn bộ vị trí có emoji (tiêu đề, excerpt, taxonomy, meta...)

 

Nếu emoji xuất hiện ở nhiều khu vực (title, category, custom fields…), bạn cần mở rộng filter để encode tất cả trước khi lưu.

 

→ Hạn chế tối đa lỗi “Incorrect string value” ở bất kỳ trường dữ liệu nào.


→ Nên thêm vào child theme hoặc plugin riêng để tránh bị ghi đè khi cập nhật theme.

 

Ưu — Nhược điểm

 

Ưu điểm:

 

  • Không cần chỉnh lại cấu hình database hoặc máy chủ

 

  • Áp dụng nhanh, an toàn

 

  • Không làm hỏng cấu trúc dữ liệu cũ

 

Nhược điểm:

 

  • Emoji sẽ được lưu dưới dạng mã (ví dụ: 😀)

 

  • Khi hiển thị WordPress sẽ tự decode lại

 

  • Nếu database quá cũ, đôi khi vẫn phải chuyển sang utf8mb4

 

3. Dùng plugin Code Snippets (không cần sửa theme)

 

Nếu bạn không muốn sửa trực tiếp file theme:

 

  1. Cài Code Snippets

  2. Tạo đoạn snippet mới

  3. Dán code fix emoji vào

  4. Bật lên và kiểm tra thử với bài viết có emoji

 

WordPress, emoji, Emoji trong WordPress


WordPress, emoji, Emoji trong WordPress

 

→ Cách này an toàn hơn vì bạn không đụng tới file functions.php và dễ tắt/bật khi cần.

 

Lưu ý quan trọng

 

  • Luôn backup website + database trước khi sửa mã hoặc cấu hình liên quan đến lưu trữ dữ liệu.

 

  • Sau khi khắc phục, bạn nên thử đăng bài có emoji để đảm bảo site đã hoạt động bình thường.

 

  • Nếu blog ít dùng emoji, bạn có thể hạn chế sử dụng chúng trong tiêu đề hoặc sử dụng hình ảnh thay thế.

 HỖ TRỢ TRỰC TUYẾN