From 68db6e5aaadc287de7e0bccf09f42b9b78d0c46e Mon Sep 17 00:00:00 2001 From: ildyria Date: Sat, 13 Jun 2026 12:06:11 +0200 Subject: [PATCH] Fix mb strings for our chinese users --- app/Actions/Photo/Pipes/Init/LoadFileMetadata.php | 2 +- app/Actions/Photo/Pipes/Shared/HydrateMetadata.php | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/Actions/Photo/Pipes/Init/LoadFileMetadata.php b/app/Actions/Photo/Pipes/Init/LoadFileMetadata.php index d21b48a0f66..92214e78d80 100644 --- a/app/Actions/Photo/Pipes/Init/LoadFileMetadata.php +++ b/app/Actions/Photo/Pipes/Init/LoadFileMetadata.php @@ -42,7 +42,7 @@ public function handle(InitDTO $state, \Closure $next): InitDTO $state->exif_info->title === '' ) { $title_source = $state->raw_source_file ?? $state->source_file; - $state->exif_info->title = substr($title_source->getOriginalBasename(), 0, 98); + $state->exif_info->title = mb_substr($title_source->getOriginalBasename(), 0, 100, 'UTF-8'); } return $next($state); diff --git a/app/Actions/Photo/Pipes/Shared/HydrateMetadata.php b/app/Actions/Photo/Pipes/Shared/HydrateMetadata.php index f23d258f0b1..869c18f7a06 100644 --- a/app/Actions/Photo/Pipes/Shared/HydrateMetadata.php +++ b/app/Actions/Photo/Pipes/Shared/HydrateMetadata.php @@ -33,7 +33,9 @@ class HydrateMetadata implements SharedPipe public function handle(DuplicateDTO|StandaloneDTO $state, \Closure $next): DuplicateDTO|StandaloneDTO { if ($state->photo->title === null) { - $state->photo->title = $state->exif_info->title; + $state->photo->title = $state->exif_info->title !== null + ? mb_substr($state->exif_info->title, 0, 100, 'UTF-8') + : null; } if ($state->photo->description === null) { $state->photo->description = $state->exif_info->description;