存储和显示表情符号 Android + PHP + MySql



在我的安卓应用程序中,从文本视图中,我正在阅读来自用户的带有表情符号的文本,如 -

String textmsgGet = mTextView.getText().toString().trim();
String textmsg = StringEscapeUtils.escapeJava(textmsgGet);

并在另一个活动中将其显示为 --

String titleGet = jsonObject.getString("title");
String title = StringEscapeUtils.unescapeJava(titleGet);

在我的 php 页面中,在读取值时,我正在使用 -

$textmsg = $_POST['textmsg'];

在显示时,我使用的是 0-

$title = utf8_encode($data['textmsg']);

但在我的数据库中,这些值存储为 -

u1F601 hello u1F601

我错过了什么,任何帮助都会很棒。

尝试将整个 mysql 数据库和表字符集和排序规则转换为 UTF-8,如下所示:

ALTER DATABASE databasename CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

而不是对要显示的文本进行编码,请尝试对其进行解码:

$title = utf8_decode($data['textmsg']);

最新更新