1. 程式人生 > >不要在MySQL中使用utf8,改用utf8mb4

不要在MySQL中使用utf8,改用utf8mb4

一、為什麼需要使用utf8mb4。

在mysql、MariaDB中:

  • MySQL的“utf8mb4”是真正的“UTF-8”。長度是4個位元組。
  • MySQL的“utf8”是mysql自己的一種“專屬的編碼”,它的最大字元長度為 3 位元組。只是“UTF-8”標準的一個子集。
    所以Emoji 表情(Emoji 是一種特殊的 Unicode 編碼,常見於 ios 和 android 手機上),和一些不常用的漢字,儲存就會報錯。

二、修改資料庫連線。參考文件

原jdbcUrl:jdbc:mysql:///dbname?useUnicode=true&characterEncoding=UTF-8

需要去掉編碼引數useUnicode=true&characterEncoding=UTF-8 改為: jdbcUrl:jdbc:mysql:///dbname

參考文件:
https://help.aliyun.com/knowledge_detail/41702.html
http://ju.outofmemory.cn/entry/359647
https://my.oschina.net/u/3452433/blog/887908
https://yq.aliyun.co