以前没有在意这些特殊符号和图标,最近项目需求发现无法保持特殊字符,就算修改数据表储存方式在数据输出还是一样不能正常显示,基本上是‘?’替换掉了,今天去处理了一下程序,X1和V系列修改方法如下。
首先X1
打开数据库配置文件
application/database.php
查找
数据库编码默认采用utf8
把
'charset' => 'utf8',
改成
'charset' => 'utf8mb4',
V7修改,V系列通用
data/mysql_config.php
查找
$dbcharset = 'utf8'; // 数据库编码,如果出现网页乱码,你可以尝试改为gbk或latin1或utf8或big5,即可解决
改为
$dbcharset = 'utf8mb4'; // 数据库编码,如果出现网页乱码,你可以尝试改为gbk或latin1或utf8或big5,即可解决
接着打开
admin/center.php
注释掉
删除也可以,要不然后台进入报错
接着开始处理数据库
批量处理方法
# 修改数据库> ALTER DATABASE 数据库名称 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
我的是V7,直接在SQL语句执行
结果如下
# 修改表>
ALTER TABLE qb_article CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
修改表是将你表中所有字段切换为
utf8mb4_unicode_ci
# 修改表字段>
ALTER TABLE qb_article CHANGE title title VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
指定表中的某个字段切换为
utf8mb4_unicode_ci
或者直接自己对应修改
下拉切换然后保存
接下来你修改好的字段就可以储存显示特殊字段图标了
???????????????????
不用担心百度不收录,事实证明百度比较喜欢这种个性化的元素,收录后点击吸引力非常强