2015-02-11 7 views
0

Есть ли способ переместить загруженный файл и называть его немецкими символами?Laravel 5 - перемещение загруженного файла с немецкими символами

У меня есть форма, в которой пользователь вводит свое имя и фамилию и добавляет файл. Файл загружен правильно, и все поля ввода сохраняются в базе данных mysql.

public function store(Request $request) 
{ 
    $file = $request->file('file'); 
    $file_name = $request->input('name_surname') . '_' . $request->input('month') . '.' . $file->getClientOriginalExtension(); 
    $request->file('file')->move('uploads', $file_name); 
    $this->report->create(array('name_surname' => $request->input('name_surname'), 
           'file_name' => $file_name, 
           'ini_file_name' => $file->getClientOriginalName(), 
           'month' => $request->input('month'), 
           'sum' => $request->input('sum'))); 

    return redirect('/'); 
} 

Когда я открываю папку мои 'загрузки', имя файла выглядит следующим образом:

Günter Baumgärtner_Februar 2015.pdf 

дд ($ file_name); это показывает:

"Günter Baumgärtner_Februar 2015.pdf" 

MySQL запись выглядит следующим образом:

id | name_surname  | month  | sum | file_name       | ini_file_name 
39 | Günter Baumgärtner | Februar 2015 | 200 | Günter Baumgärtner_Februar 2015.pdf | report-11-02-2015_01-36.pdf 

ответ

0

Похоже, проблема с кодировкой системы. Является ли ваша машина Linux?

Если да, проверьте переменную окружения LANG сервера: в командной строке введите locale и посмотрите на строку, начинающуюся с LANG=. Если это LANG=en_US.UTF-8 (или любое другое значение, заканчивающееся .UTF-8), тогда следует переименовать/создать файлы с немецкими символами. В моей среде (LANG=pl_PL.UTF-8) он работает, мое приложение Laravel создало файл с именем Günter_Baumgärtner.csv.
Если ваш LANG установлен на значение, отличное от UTF-8, то его следует изменить, но способ его выполнения зависит от вашего дистрибутива Linux.

+0

Это проблема с системным кодированием. Я запускаю Windows 8.1, но теперь я переместил приложение на vps-сервер, на котором запущен ubuntu. Он сохраняет файл так, как должен. Спасибо – sherfa