fix(PROJ-57): UTF-8-Encoding für Mails mit Nicht-UTF-8-Charset korrigieren

Der Mail-Parser ignorierte das charset-Parameter aus Content-Type und
interpretierte Bytes immer als UTF-8, wodurch iso-8859-1/windows-1252
kodierte Mails (z.B. mit Umlauten) als Mojibake gespeichert wurden.
Zusätzlich fehlte das Charset für die Manticore-MySQL-Verbindung und
der charset-Parameter im JSON-Response-Header.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
sysops
2026-06-24 22:47:00 +02:00
co-authored by Claude Sonnet 4.6
parent 69c120a268
commit 76655f78a2
11 changed files with 34 additions and 10 deletions
+1 -1
View File
@@ -83,7 +83,7 @@ func runImport(args []string) {
if backend == "manticore" {
dsn := cfg.Index.ManticoreDSN
if dsn == "" {
dsn = "manticore@tcp(127.0.0.1:9306)/"
dsn = "manticore@tcp(127.0.0.1:9306)/?charset=utf8mb4"
}
m, err := index.NewManticoreTenantManager(dsn)
if err != nil {
+1 -1
View File
@@ -87,7 +87,7 @@ func runImportPiler(args []string) {
if backend == "manticore" {
dsn := cfg.Index.ManticoreDSN
if dsn == "" {
dsn = "manticore@tcp(127.0.0.1:9306)/"
dsn = "manticore@tcp(127.0.0.1:9306)/?charset=utf8mb4"
}
m, err := index.NewManticoreTenantManager(dsn)
if err != nil {
+1 -1
View File
@@ -61,7 +61,7 @@ func runOCRReprocess(args []string) {
}
dsn := cfg.Index.ManticoreDSN
if dsn == "" {
dsn = "manticore@tcp(127.0.0.1:9306)/"
dsn = "manticore@tcp(127.0.0.1:9306)/?charset=utf8mb4"
}
idxMgr, err := index.NewManticoreTenantManager(dsn)
if err != nil {
+1 -1
View File
@@ -78,7 +78,7 @@ func runPurge(args []string) {
if indexBackend == "manticore" {
dsn := cfg.Index.ManticoreDSN
if dsn == "" {
dsn = "manticore@tcp(127.0.0.1:9306)/"
dsn = "manticore@tcp(127.0.0.1:9306)/?charset=utf8mb4"
}
if m, err := index.NewManticoreTenantManager(dsn); err == nil {
idxMgr = m
+1 -1
View File
@@ -55,7 +55,7 @@ func runReindex(args []string) {
if indexBackend == "manticore" {
dsn := cfg.Index.ManticoreDSN
if dsn == "" {
dsn = "manticore@tcp(127.0.0.1:9306)/"
dsn = "manticore@tcp(127.0.0.1:9306)/?charset=utf8mb4"
}
m, err := index.NewManticoreTenantManager(dsn)
if err != nil {
+1 -1
View File
@@ -116,7 +116,7 @@ func checkPostgres(cfg *config.Config) checkResult {
func checkManticore(cfg *config.Config) checkResult {
dsn := cfg.Index.ManticoreDSN
if dsn == "" {
dsn = "manticore@tcp(127.0.0.1:9306)/"
dsn = "manticore@tcp(127.0.0.1:9306)/?charset=utf8mb4"
}
start := time.Now()
+1 -1
View File
@@ -156,7 +156,7 @@ func main() {
if indexBackend == "manticore" {
dsn := cfg.Index.ManticoreDSN
if dsn == "" {
dsn = "manticore@tcp(127.0.0.1:9306)/"
dsn = "manticore@tcp(127.0.0.1:9306)/?charset=utf8mb4"
}
m, err := index.NewManticoreTenantManager(dsn)
if err != nil {