在我的安卓应用程序中,从文本视图中,我正在阅读来自用户的带有表情符号的文本,如 -
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']);