From 3c6c1507403b659a9ed790df19311a9f83175364 Mon Sep 17 00:00:00 2001
From: Lunny Xiao <xiaolunwen@gmail.com>
Date: Mon, 13 Jun 2022 20:55:08 +0800
Subject: [PATCH] Add deprecated log when using MySQL with utf8 charset
 (#19952)

---
 modules/setting/database.go | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/modules/setting/database.go b/modules/setting/database.go
index 5be2d8deea9..a90ace5b4bb 100644
--- a/modules/setting/database.go
+++ b/modules/setting/database.go
@@ -13,6 +13,8 @@ import (
 	"path/filepath"
 	"strings"
 	"time"
+
+	"code.gitea.io/gitea/modules/log"
 )
 
 var (
@@ -83,6 +85,10 @@ func InitDBConfig() {
 	Database.Schema = sec.Key("SCHEMA").String()
 	Database.SSLMode = sec.Key("SSL_MODE").MustString("disable")
 	Database.Charset = sec.Key("CHARSET").In(defaultCharset, []string{"utf8", "utf8mb4"})
+	if Database.UseMySQL && defaultCharset != "utf8mb4" {
+		log.Error("Deprecated database mysql charset utf8 support, please use utf8mb4 or convert utf8 to utf8mb4.")
+	}
+
 	Database.Path = sec.Key("PATH").MustString(filepath.Join(AppDataPath, "gitea.db"))
 	Database.Timeout = sec.Key("SQLITE_TIMEOUT").MustInt(500)
 	Database.MaxIdleConns = sec.Key("MAX_IDLE_CONNS").MustInt(2)