У меня есть файл MIME-типа: text/csv
.
Я хочу пройтись по нему и выполнить кучу манипуляций со строками.
У меня миллиард столбцов и строк.Но простой пример:
Foo Bar Grød
------------------
1 2 3
4 5 6
Если я просто распечатаю значения сразу, не сделав ничего, то Laravel напечатает это (для заголовков):
Мой код:
foreach( $headers as $entry ){
dump( $entry );
}
Вывод
Foo
Bar
b"Grød"
Теперь проблема в третьей строке.Это двоичная строка
Но я хочу 'что находится внутри b"
и "
.Поэтому я хочу вывод, как это:
Foo
Bar
Grød
Если я просто добавлю utf8_decode
, например:
foreach( $headers as $entry ){
dump( utf8_decode( $entry ) );
}
Foo
Bar
Gr?d
?!
Как мне получитьфактические значения из всех строк, которые содержат буквы anish, ø и å на датском языке?Это часть стандартной кодировки UTF-8, так что это должно быть ракетостроение.
Addition1
Если я напишу: dd( $request['csv_file'] )
, то вы получите следующее:
-test: false
-originalName: "FILENAME.csv"
-mimeType: "text/csv"
-error: 0
#hashName: null
path: "/private/var/folders/hl/r1syq9ys4z30lw08b6g8hhnh0000gn/T"
filename: "phpzYwY9I"
basename: "phpzYwY9I"
pathname: "/private/var/folders/hl/r1syq9ys4z30lw08b6g8hhnh0000gn/T/phpzYwY9I"
extension: ""
realPath: "/private/var/folders/hl/r1syq9ys4z30lw08b6g8hhnh0000gn/T/phpzYwY9I"
aTime: 2019-02-20 15:31:10
mTime: 2019-02-20 15:31:10
cTime: 2019-02-20 15:31:10
inode: 12891860254
size: 2282762
perms: 0100600
owner: 501
group: 20
type: "file"
writable: true
readable: true
executable: false
file: true
dir: false
link: false
Я не знаю, поможет ли это кому-нибудь.
И если я (в терминале) напишу file -I FILENAME.csv
, то он выдаст: FILENAME.csv: application/octet-stream; charset=binary