我试图将表情符号保存到数据库记录,但每次都没有正确保存。 我已经提到这How to store Emoji Character in My SQL Database但仍然无法正常工作。
根据上述问题的解决方案,我尝试将字符集从utf8更改为utf8mb4,并将其从utf8mb4_bin中排序。
我尝试了一切,如重置为默认值,然后在数据库表中更改它。我尝试过utf8mb4_unicode_ci,utf8_unicode_ci和utf8mb4_bin,但它不起作用。
我正在使用MySQL 5.6版本。而我改变的整理与下面的查询
表情符号字符()在MySQL版本5.6中不适用于utf8mb4_bin
alter table `users` convert to character set utf8mb4 collate utf8mb4_bin;
上面的代码工作正常,它改变数据库中的UTF类型。但是表情符不正确保存它保存为问号(????)
下面是我的数据库表结构例如:
CREATE TABLE IF NOT EXISTS `users` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'System generated id used for uniqueness',
`introduction` longtext COLLATE utf8mb4_bin,
`other_details` longtext COLLATE utf8mb4_bin,
PRIMARY KEY (`id`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin AUTO_INCREMENT=41213 ;
要使用下面的PHP代码保存的表情符号:
$dom = new DOMDocument('1.0', 'UTF-8');
$strWithEmoji = "";
$fullContent = '<meta http-equiv="content-type" content="text/html; charset=utf-8">'
+ $strWithEmoji;
$this->save($fullContent); // Function for saving into database
我不知道确切的豪w很多字节正在存储,但我试图只保存 这个表情符号“”,并将它存储为4个问号(????)。
我试图从下面的链接,所有的解决方案,但并没有为我工作:
How to store Emoji Character in My SQL Database
UTF-8 all the way through
The ultimate emoji encoding scheme
@Liam我尝试了所有已经问过的解决方案,但它不起作用 – KRY
2天前您几乎没有添加任何原始问题。请不要多次提问同一个问题。这不起作用不是问题。 – Liam
@Liam问题被删除 – KRY