From d84b0fb9e1182ed70916e7fff9fcc3d8bf5b22ed Mon Sep 17 00:00:00 2001 From: "y.higashide" Date: Tue, 7 Oct 2025 16:54:59 +0900 Subject: [PATCH] =?UTF-8?q?app/Http/Controllers/RegularContractCreateContr?= =?UTF-8?q?oller.php=20=E3=82=92=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RegularContractCreateController.php | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/RegularContractCreateController.php b/app/Http/Controllers/RegularContractCreateController.php index ee0de9a..bfcf7cd 100644 --- a/app/Http/Controllers/RegularContractCreateController.php +++ b/app/Http/Controllers/RegularContractCreateController.php @@ -99,15 +99,26 @@ class RegularContractCreateController extends Controller $parks_table = $query->skip(($page - 1) * $perPage)->take($perPage)->get(); if ($sort === 'park_ruby' || $sort === 'station_name_ruby') { - $locale_result = setlocale(LC_COLLATE, 'ja_JP.utf8'); - \Log::info('setlocale result: ' . $locale_result); - + $locales = [ + 'ja_JP.UTF-8', + 'ja_JP.utf8', + 'ja_JP', + 'japanese', + 'Japanese_Japan.932', + 'Japanese_Japan', + 'ja', + ]; + foreach ($locales as $locale) { + $result = setlocale(LC_COLLATE, $locale); + \Log::info("setlocale try: {$locale} => {$result}"); + if ($result !== false) { + break; + } + } $parks_table = $parks_table->sort(function ($a, $b) use ($order, $sort) { // null対策 $a_val = $a->$sort ?? ''; $b_val = $b->$sort ?? ''; - // 比較値もログで確認(本番では消してOK) - \Log::info("compare: $a_val vs $b_val"); return $order === 'asc' ? strcoll($a_val, $b_val) : strcoll($b_val, $a_val);