我试图在我的网站内显示非常特殊的字符(如),并将其存储到我的数据库中。 当我写这些特殊字符时,它们会显示一次,但是当我重新加载页面并且服务器从数据库获取字符串时,它会显示为“??????? ???????? ??????“ 我试图做很多事情来解决这个问题,但他们都没有工作。 这不是一个可视化的问题,因为头被设置正确:MySQL数据库存储问号而不是特殊字符
<meta charset="utf-8">
我曾尝试做:
- 服务器的默认字符集设置为UTF-8。
- 设置数据库/表/列崩溃和字符集来utf8mb4_unicode_ci
- 更改连接字符串:
$db = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$db->query("SET character_set_results=utf8mb4");
mb_language('uni');
mb_internal_encoding('UTF-8');
$db->query("SET NAMES utf8mb4");
$db->set_charset('utf8mb4');
但没有这种事情的来龙去脉。 作为补充,我想(只是用于调试)在数据库中的文本字段来改变一个字符串,我得到了一个错误:
Warning: #1300 Invalid utf8 character string: 'F09D91'
Warning: #1366 Incorrect string value: '\xF0\x9D\x91\xBB\xF0\x9D...' for column 'text' at row 1
我试过真的每一个解决方案,我发现这里和outsite,但没有工作。 任何帮助,将不胜感激。
该文件的编码本身呢? –
我应该检查哪些文件? –
所有这些。如果您不知道如何检查文件的编码,请获取代码编辑器,然后查看“编码”下的含义。 –