mysql 不能识别生僻字,全部为“?”,为什么?

# 对本地的mysql客户端的配置
[client]
default-character-set = utf8mb4

# 对其他远程连接的mysql客户端的配置
[mysql]
default-character-set = utf8mb4

# 本地mysql服务的配置
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
lower_case_table_names = 1

[mysql.server]
default-character-set = utf8mb4

[mysqld_safe]
default-character-set = utf8mb4

1.mysql字符集已设置

2.连接数据库编码已设置:
'utf8mb4'; //设置默认编码

3.字段、表排序规则:
utf8mb4_unicode_520_ci

但是:前台生僻字全部显示为“?”,为什么呢

回复
阅读 470
1 个回答
新手上路,请多包涵

MySQL 不能识别生僻字是因为它使用的字符集不支持该字符。字符集定义了一组字符及其编码,并决定了数据库如何存储和显示字符。

如果你的生僻字不在 MySQl 所使用的字符集中,则需要更改字符集来支持这些字符。

你可以在数据库连接时指定字符集,或者在数据表中设置字符集,以便识别生僻字。这样可以确保生僻字能够正确存储和显示。

例如,你可以在连接数据库时使用以下代码指定 UTF-8 字符集:

mysql_connect('localhost', 'user', 'password', 'database', '3306', '', 'utf8');

或者,你可以在数据表中设置字符集:

ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏