gpt4 book ai didi

php - 表情符号显示为?在MySQL数据库中

转载 作者:行者123 更新时间:2023-11-29 03:23:19 25 4
gpt4 key购买 nike

表情符号存储为 ?在我的数据库中(当我使用 phpMyAdmin 可视化它们时),但是当我使用一个简单的请求(来自 php)检索它们时,我得到了真正的值(value)。

数据库行(使用 phpMyAdmin) enter image description here

来自 php 的请求

$query = "SELECT id,com
FROM coms_table
WHERE id = 627";

结果

id     com  
627 \ud83d\ude0e

使用这个命令

mysql> SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';

我明白了:
enter image description here

我的.cnf文件:

[client]
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4

[mysqld]
default-storage-engine=MyISAM
innodb_file_per_table=1
performance-schema=0
innodb_buffer_pool_size=134217728
max_allowed_packet=268435456
open_files_limit=10000
local-infile=0
character-set-client-handshake = TRUE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

总而言之,该问题仅在我使用 phpMyAdmin 连接到数据库时出现。最糟糕的是,当我尝试使用 phpMyAdmin 导入数据库时​​,所有问号都被真正的“?”所取代,并且数据最终丢失了。

编辑 1
phpMyAdmin>变量 enter image description here session 值(utf8)与预期值(utf8mb4)不同

最佳答案

您需要 character_set_client、_connection 和 _results 全部为 utf8mb4。其他的都无所谓。

单个 问号可能意味着数据在插入时丢失了。 (1 个表情符号的 4 个问号表示不同的问题。)

关于php - 表情符号显示为?在MySQL数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40390936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com