今天看啥  ›  专栏  ›  Python编程时光

为什么不建议在 MySQL 中使用 UTF-8 ?

Python编程时光  · 公众号  ·  · 2022-10-31 09:02
作者:_陈哈哈https://blog.csdn.net/qq_39390545/article/details/106946166# 一、报错回顾将emoji文字直接写入SQL中,执行insert语句报错;INSERT INTO `csjdemo`.`student` (`ID`, `NAME`, `SEX`, `AGE`, `CLASS`, `GRADE`, `HOBBY`)    VALUES ('20', '陈哈哈😓', '男', '20', '181班', '9年级', '看片儿');[Err] 1366 - Incorrect string value: '\xF0\x9F\x98\x93' for column 'NAME' at row 1改了数据库编码、系统编码以及表字段的编码格式 → utf8mb4 之后,就可以了:INSERT INTO `student` (`ID`, `NAME`, `SEX`, `AGE`, `CLASS`, `GRADE`, `HOBBY`)    VALUES (null, '陈哈哈😓😓', '男', '20', '181班', '9年级', '看片儿');# 二、MySQL中utf8的趣事MySQL 的“utf8”实际上不是真正的 UTF-8。在MySQL中,“utf8”编码只支持每个字符最多三个字节,而真正的 UTF-8 是每个字符最多四个字节。在utf8编码中,中文是占3个字节,其他数字、英文、符号 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照