+
80
-

uniapp如何使用emoji表情来输入?

uniapp如何使用emoji表情来输入?


网友回复

+
0
-

1、首先要保证mysql数据库的编码为utf8mb4

数据库字符集设置

在创建数据库时,可以设置字符集为 `utf8mb4`,该字符集支持 Emoji 表情。

CREATE DATABASE your_database CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
表字符集和排序规则:

在创建表时,也要确保表的字符集和排序规则设置为 `utf8mb4`。

CREATE TABLE your_table (
id INT PRIMARY KEY,
emoji_column VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
);

字段字符集设置:

对于存储 Emoji 表情的字段,确保其字符集也设置为 `utf8mb4`。

ALTER TABLE your_table MODIFY emoji_column VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
连接字符集设置:

在连接数据库时,确保连接字符集设置为 `utf8mb4`。 SET NAMES utf8mb4; 或者在连接字符串中添加字符集参数:

const connection = mysql.createConnection({
host: 'your_host',
user: 'your_user',
password: 'your_password',
database: 'your_database',
charset: 'utf8mb4'
});
确保所有这些设置都正确,可以正确地存储和检索包含 Emoji 表情的数据。如果数据库和表的字符集没有设置为 `utf8mb4`,将导致 Emoji 表情被存储为乱码。

2、uniapp代码

<template>
	<view style="margin-right: 10rpx;margin-left: 20rpx;height: 446rpx;">
		<!--列表-->
		<list :show-scrollbar='false'>
			<!-- 注意事项: 不能使用 index 作为 key 的唯一标识 -->
			<cell v-for="(items, index) in emojData" :key="items.id">
				<view style="display: flex;flex-direction: row;">
					<block v-for="(item, index) in items">
						<view class="emoj_parent" hover-class="checkActive" hover-stay-time="100"
							@click="tuchEmoj(item,index)">
							<text @click="tuchEmoj(item,index)" class="emoj_conn">{{item}}</text>
						</view>
					</block>
				</view>
 
			</cell>
		</list>
	</view>
 
</template>
 
<script>
	export default {
		data() {
			return {
				emojData: [
					['
我知道答案,我要回答