stechstudio/laravel-zipstream(v4.8)でファイル名に日本語を使えるようにする方法について記載。
stechstudio/laravel-zipstreamdeを使ってzipファイル保存するとファイル名に日本語が入っている場合、日本語名が消える。
例
1_日本語file.pdf
↓
1_file.pdf
以下のファイルを確認すると、ここでStr::asciiで文字コードをASCIIに変換しているので、日本語が消えている模様。
vendor\stechstudio\laravel-zipstream\src\Models\File.php
/**
* @return string
*/
public function getZipPath(): string
{
$path = ltrim(preg_replace('|/{2,}|', '/', $this->zipPath), '/');
return config('zipstream.file.sanitize')
? Str::ascii($path)
: $path;
}
これを処理しないように.envに以下を追加
ZIPSTREAM_FILE_SANITIZE=false
以上。