MySQL数据库(utf8mb3/utf8mb4)特殊字符缺失及浏览器显示异常问题求助
MySQL数据库(utf8mb3/utf8mb4)特殊字符缺失及浏览器显示异常问题求助
各位大佬好,我最近在Web应用里碰到了特殊字符(比如é、ç这类)的棘手问题,折腾半天没搞定,来求助大家!
当前环境与操作背景
我的MySQL数据库、所有数据表以及字段都已经设置为utf8mb4_unicode_ci,之前用的是utf8mb3_unicode_ci,当时就存在特殊字符异常的问题,本以为转成utf8mb4能解决,结果还是不行。
我执行了这条更新语句:
UPDATE cars SET name = 'Cabrioleté' WHERE id = 1;
具体遇到的两个异常问题
- 数据库端异常:直接通过终端或者MySQL Workbench查看数据时,特殊字符会丢失,比如我插入的
Cabrioleté变成了Cabriolet,连单引号这类字符也会莫名缺失。 - 浏览器端异常:把数据库里的数据取出来渲染到浏览器时,é会显示成Ãé,不止é,其他多种特殊字符都有类似的乱码或显示异常情况。
之前用utf8mb3的时候就有特殊字符丢失或乱码的问题,转码后问题依然存在,实在摸不清哪里出了问题,有没有大佬能帮忙分析指点一下?
备注:内容来源于stack exchange,提问作者PythonOfTheMoon74




