2024.10.01
【勉強】ミドルウェア・アプリケーションのEOL・EOSLについて学んでみた
2022.02.01
プログラミング【laravel】Amazon S3 からファイル一覧取得した際、日本語ファイル名が正しく取得できない対応
Amazon S3 に日本語を含んだファイルを格納し、
ファイル一覧を取得しようしとした際、日本語部分のみが消えて取得されてしまいました。
例)
ファイル名:「サンプルテキスト_YYYYMMDD.csv」→「_YYYYMMDD.csv」
Storage::disk('S3')->files('ファイル一覧を取得したい格納ディレクトリパス')
調査したところロケール設定が 変更or未設定 の為、と考えられます。
ロケールの設定をシステム処理内で対応させるには下記の通りとなります。
setlocale(LC_ALL, 'ja_JP.UTF-8'); Storage::disk('S3')->files('ファイル一覧を取得したい格納ディレクトリパス')
これで日本語名の取得は可能となりました。
今回修正した内容は、毎回実装にsetlocale
をつける必要が有る為、
暫定的な改修となります。
php.iniから実行環境サーバーのロケール設定を確認し、
追加付与した方が効果的な場面の方が多いと思われますので、
その際は下記記事を参考にして下さい。
※サーバーの移行などで、設定が漏れないよう気を付けたいと思います。
【記事への感想募集中!】
記事への感想・ご意見がありましたら、ぜひフォームからご投稿ください!【テクノデジタルではエンジニア/デザイナーを積極採用中です!】
下記項目に1つでも当てはまる方は是非、詳細ページへ!Qangaroo(カンガルー)
【テクノデジタルのインフラサービス】
当社では、多数のサービスの開発実績を活かし、
アプリケーションのパフォーマンスを最大限に引き出すインフラ設計・構築を行います。
AWSなどへのクラウド移行、既存インフラの監視・運用保守も承りますので、ぜひご相談ください。
詳細は下記ページをご覧ください。
最近の記事
タグ検索