chore(docker): 测试解决MySQL数据库的字符集不支持存储Emoji表情符号(4字节UTF-8字符)

This commit is contained in:
2025-12-08 08:53:50 +08:00
parent c4dc09b580
commit e4bb99aa1f
7 changed files with 53 additions and 66 deletions

View File

@@ -1,27 +1,26 @@
[mysqld]
# 字符集设置
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
# 连接设置
max_connections=100
wait_timeout=28800
interactive_timeout=28800
# 缓冲区设置
innodb_buffer_pool_size=256M
key_buffer_size=64M
# 日志设置
slow_query_log=1
slow_query_log_file=/var/lib/mysql/slow.log
long_query_time=2
# 其他设置
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
# 字符集设置
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
# 连接设置
max_connections=100
wait_timeout=28800
interactive_timeout=28800
# 缓冲区设置
innodb_buffer_pool_size=256M
key_buffer_size=64M
# 日志设置
slow_query_log=1
slow_query_log_file=/var/lib/mysql/slow.log
long_query_time=2
# 其他设置
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[client]
default-character-set=utf8mb4

View File

@@ -11,7 +11,7 @@ DATABASE = shop_mallnew
USERNAME = shop_mallnew
PASSWORD = shop_mallnew
HOSTPORT = 3306
CHARSET = utf8
CHARSET = utf8mb4
DEBUG = true
[RRDATABASE]
HOSTNAME = host.docker.internal

View File

@@ -11,7 +11,7 @@ DATABASE = shop_dev
USERNAME = shop_mallnew
PASSWORD = shop_mallnew
HOSTPORT = 3306
CHARSET = utf8
CHARSET = utf8mb4
DEBUG = true
[RRDATABASE]
HOSTNAME = redis

View File

@@ -15,7 +15,7 @@ DATABASE = shop_mallnew_prod
USERNAME = prod_user
PASSWORD = prod_password
HOSTPORT = 3306
CHARSET = utf8
CHARSET = utf8mb4
DEBUG = false
[redis]

View File

@@ -159,7 +159,7 @@ class Kefu extends BaseApi
'conversation_id' => $result['conversation_id'] ?? $conversation_id,
'message_id' => $result['message_id'] ?? '',
'role' => 'user',
'content' => json_encode($message),
'content' => $message ?? '',
]);
// 保存机器人回复
@@ -169,7 +169,7 @@ class Kefu extends BaseApi
'conversation_id' => $result['conversation_id'] ?? $conversation_id,
'message_id' => $result['id'] ?? '',
'role' => 'assistant',
'content' => json_encode($result['answer'] ?? ''),
'content' => $result['answer'] ?? '',
]);
// 更新会话状态或创建新会话

View File

@@ -1,26 +1,10 @@
<style>
.search-box {
padding: 10px 0;
padding: 15px;
border-bottom: 1px solid #eee;
margin-bottom: 15px;
}
.search-item {
display: inline-block;
margin-right: 15px;
vertical-align: middle;
}
.search-item label {
display: inline-block;
width: 80px;
text-align: right;
margin-right: 10px;
vertical-align: middle;
}
.search-item input,
.search-item select {
width: 150px;
display: inline-block;
vertical-align: middle;
background-color: #f9f9f9;
border-radius: 4px;
}
.layui-btn-container {
margin-bottom: 15px;
@@ -39,25 +23,29 @@
<div class="layui-card-body">
<!-- 搜索区域 -->
<div class="search-box">
<form class="layui-form" id="searchForm">
<div class="search-item">
<label for="user_id">用户ID</label>
<input type="text" name="user_id" id="user_id" placeholder="请输入用户ID" class="layui-input">
<div class="search-box layui-form">
<div class="layui-form-item" style="margin-bottom: 0;">
<div class="layui-inline">
<label class="layui-form-label">用户ID</label>
<div class="layui-input-inline" style="width: 150px;">
<input type="text" name="user_id" id="user_id" placeholder="请输入用户ID" class="layui-input">
</div>
</div>
<div class="search-item">
<label for="status">状态</label>
<select name="status" id="status" class="layui-select">
<option value="">全部</option>
<option value="1">活跃</option>
<option value="0">已结束</option>
</select>
<div class="layui-inline">
<label class="layui-form-label">状态</label>
<div class="layui-input-inline" style="width: 120px;">
<select name="status" id="status" class="layui-select">
<option value="">全部</option>
<option value="1">活跃</option>
<option value="0">已结束</option>
</select>
</div>
</div>
<div class="search-item">
<div class="layui-inline">
<button type="button" class="layui-btn layui-btn-primary" id="searchBtn">搜索</button>
<button type="button" class="layui-btn layui-btn-primary" id="resetBtn">重置</button>
</div>
</form>
</div>
</div>
<!-- 表格区域 -->

View File

@@ -34,7 +34,7 @@ return [
// 数据库连接参数
'params' => [],
// 数据库编码默认采用utf8
'charset' => env('database.charset', 'utf8'),
'charset' => env('database.charset', 'utf8mb4'),
// 数据库表前缀
'prefix' => 'lucky_',