原本以为utf8是万能的了,新建数据库时选择了如下图
然而,当往数据库中插入的数据有特殊符号时,内容如下:
??玉米 ??樱桃
无情的报错开始了。
原来历史原因,mysql数据库字符集utf8不是真正的utf8,是占用3个字节的.
现在,新建数据库时要选择utf8mb4,这才是真正的utf8,如下图
另外,原来连接数据库中
1 $conn=mysqli_connect("127.0.0.1","用户名","密码","test_db1"); 2 if (mysqli_connect_errno($conn)) { 3 echo "连接 MySQL 失败: " . mysqli_connect_error(); 4 } 5 mysqli_query($conn,"SET NAMES utf8mb4");
SET NAMES utf8 改为 SET NAMES utf8mb4
实验一下,插入数据库正常